Táboa de contidos
O titorial mostra como usar IFERROR en Excel para detectar erros e substituílos por unha cela en branco, outro valor ou unha mensaxe personalizada. Aprenderás a utilizar a función IFERROR con Vlookup e Index Match, e como se compara con IF ISERROR e IFNA.
"Dáme o lugar para estar e moverei a terra". Arquímedes dixo unha vez. "Dáme unha fórmula e fareino devolver un erro", diría un usuario de Excel. Neste tutorial, non veremos como devolver erros en Excel, preferimos aprender a evitalos para manter as túas follas de traballo limpas e as túas fórmulas transparentes.
Función de Excel IFERROR: sintaxe e usos básicos
A función IFERROR en Excel está deseñada para capturar e xestionar erros en fórmulas e cálculos. Máis concretamente, IFERROR verifica unha fórmula e, se se avalía como un erro, devolve outro valor que especifique; en caso contrario, devolve o resultado da fórmula.
A sintaxe da función IFERROR de Excel é a seguinte:
IFERROR(valor, valor_se_error)Onde:
- Valor (obrigatorio): que comprobar se hai erros. Pode ser unha fórmula, expresión, valor ou referencia de cela.
- Value_if_error (obrigatorio): que devolver se se atopa un erro. Pode ser unha cadea baleira (cela en branco), mensaxe de texto, valor numérico, outra fórmula ou cálculo.
Por exemplo, ao dividir dúas columnas de números,pode ter unha morea de erros diferentes se unha das columnas contén celas baleiras, ceros ou texto.
Para evitar que isto ocorra, use a función IFERROR para detectar e xestionar erros. do xeito que queiras.
Se se produce un erro, entón en branco
Engade unha cadea baleira ("") ao argumento value_if_error para devolver unha cela en branco se se atopa un erro:
=IFERROR(A2/B2, "")
Se se produce un erro, amosa unha mensaxe
Tamén podes mostrar a túa propia mensaxe en lugar da notación de erro estándar de Excel:
=IFERROR(A2/B2, "Error in calculation")
5 cousas que debes saber sobre a función IFERROR de Excel
- A función IFERROR en Excel xestiona todos os tipos de erro, incluíndo # DIV/0!, #N/A, #NAME?, #NULL!, #NUM!, #REF! e #VALUE!.
- Depende do contido do value_if_error argumento, IFERROR pode substituír os erros pola túa mensaxe de texto personalizado, número, data ou valor lóxico, o resultado doutra fórmula ou unha cadea baleira (cela en branco).
- Se o argumento valor é unha cela en branco, trátase como unha cadea baleira (''') pero non un erro.
- IFERROR introduciuse en Excel 2007 e está dispoñible en todas as versións posteriores de Excel 2010, Excel 2013, Excel 2016, Excel 2019, Excel 2021 e Excel 365.
- Para capturar erros en Excel 2003 e versións anteriores, use a función ISERROR en combinación con IF, como se mostra neste exemplo.
Exemplos de fórmulas IFERROR
Os seguintes exemplosmostrar como usar IFERROR en Excel en combinación con outras funcións para realizar tarefas máis complexas.
Excel IFERROR con Vlookup
Un dos usos máis comúns da función IFERROR é dicir aos usuarios que o o valor que buscan non existe no conxunto de datos. Para iso, envolve unha fórmula de BUSCARV en IFERROR do seguinte xeito:
IFERROR(VLOOKUP( …),"Not found")Se o valor de busca non está na táboa na que está a buscar , unha fórmula normal de Vlookup devolvería o erro #N/A:
Para a tranquilidade dos usuarios, envolve VLOOKUP en IFERROR e mostra unha imaxe máis informativa e sinxela de usar. mensaxe:
=IFERROR(VLOOKUP(A2, 'Lookup table'!$A$2:$B$4, 2,FALSE), "Not found")
A seguinte captura de pantalla mostra esta fórmula Iferror en Excel:
Se desexa capturar só #N Erros /A pero non todos os erros, use a función IFNA en lugar de IFERROR.
Para obter máis exemplos de fórmulas de Excel IFERROR VLOOKUP, consulte estes tutoriais:
- Se se produce un erro con Vlookup para capturar e xestionar erros
- Como obter a enésima ocorrencia do valor de busca
- Como obter todas as ocorrencias do valor de busca
Funcións IFERROR anidadas para facer Vlookups secuenciais en Excel
En situacións nas que necesites realizar varias Vlookups en función de se a anterior Vlookup foi exitosa ou fallida, podes aniñar dúas ou máis IFERROR funcionan entre si.
Supoño que tes varios informes de vendas das sucursais rexionais do teuempresa e quere obter un importe por un determinado ID de pedido. Con A2 como valor de busca na folla actual e A2:B5 como intervalo de busca en 3 follas de busca (Informe 1, Informe 2 e Informe 3), a fórmula é o seguinte:
=IFERROR(VLOOKUP(A2,'Report 1'!A2:B5,2,0),IFERROR(VLOOKUP(A2,'Report 2'!A2:B5,2,0),IFERROR(VLOOKUP(A2,'Report 3'!A2:B5,2,0),"not found")))
O resultado terá un aspecto similar a este:
Para obter unha explicación detallada da lóxica da fórmula, consulte Como facer Vlookups secuenciais en Excel.
IFERROR en fórmulas matriciales
Como probablemente sabes, as fórmulas matriciales en Excel están destinadas a realizar varios cálculos dentro dunha única fórmula. Se forneces unha fórmula ou expresión matricial que dá como resultado unha matriz no argumento valor da función IFERROR, devolverá unha matriz de valores para cada cela do intervalo especificado. O seguinte exemplo mostra os detalles.
Digamos que tes Total na columna B e Prezo na columna C e queres calcular a Cantidade total . Isto pódese facer usando a seguinte fórmula matricial, que divide cada cela do intervalo B2:B4 pola cela correspondente do intervalo C2:C4 e, a continuación, suma os resultados:
=SUM($B$2:$B$4/$C$2:$C$4)
A fórmula funciona ben sempre que o intervalo do divisor non teña ceros nin celas baleiras. Se hai polo menos un valor 0 ou unha cela en branco, o #DIV/0! devólvese o erro:
Para corrixir ese erro, simplemente faga a división dentro da función IFERROR:
=SUM(IFERROR($B$2:$B$4/$C$2:$C$4,0))
O que fai a fórmulaé dividir un valor da columna B por un valor da columna C en cada fila (100/2, 200/5 e 0/0) e devolver a matriz de resultados {50; 40; #DIV/0!}. A función IFERROR captura todos os #DIV/0! erros e substitúeos por ceros. E despois, a función SUMA suma os valores na matriz resultante {50; 40; 0} e saca o resultado final (50+40=90).
Nota. Lembra que as fórmulas matriciales deben completarse premendo o atallo Ctrl + Maiús + Intro.
IFERROR vs. IF ISERROR
Agora que sabes o fácil que é usar a función IFERROR en Excel, podes preguntar por que algunhas persoas aínda se inclinan por usar a combinación SE ERROR. Ten algunha vantaxe en comparación con IFERROR? Ningún. Nos malos tempos de Excel 2003 e inferior cando IFERROR non existía, IF ISERROR era a única forma posible de atrapar erros. En Excel 2007 e posteriores, é un xeito un pouco máis complexo de conseguir o mesmo resultado.
Por exemplo, para detectar erros de Vlookup, podes usar calquera das seguintes fórmulas.
En Excel 2007 - Excel 2016:
IFERROR(VLOOKUP( … ), "Non atopado")En todas as versións de Excel:
IF(ISERROR(VLOOKUP(…)), "Non se atopou ", BUSCARV(…))Nótese que na fórmula BUSCAR V SER ERRO, tes que buscar dúas veces. En inglés simple, a fórmula pódese ler do seguinte xeito: Se Vlookup resulta en erro, devolve "Non atopado", se non, mostra o resultado Vlookup.
E aquí tes un real-Exemplo de vida dunha fórmula de Excel If Iserror Vlookup:
=IF(ISERROR(VLOOKUP(D2, A2:B5,2,FALSE)),"Not found", VLOOKUP(D2, A2:B5,2,FALSE ))
Para obter máis información, consulte Uso da función ISERROR en Excel.
IFERROR vs. IFNA
Introducido con Excel 2013, IFNA é unha función máis para comprobar unha fórmula para detectar erros. A súa sintaxe é semellante á de IFERROR:
IFNA(value, value_if_na)En que se diferencia IFNA de IFERROR? A función IFNA detecta só erros #N/A mentres que IFERROR xestiona todos os tipos de erros.
En que situacións pode querer usar IFNA? Cando non é prudente disimular todos os erros. Por exemplo, cando traballes con datos importantes ou confidenciais, é posible que queiras recibir unha alerta sobre posibles fallos no teu conxunto de datos e as mensaxes de erro estándar de Excel co símbolo "#" poden ser indicadores visuais vívidos.
Imos ver como podes facer unha fórmula que mostre a mensaxe "Non atopado" en lugar do erro N/A, que aparece cando o valor de busca non está presente no conxunto de datos, pero chama a túa atención sobre outros erros de Excel.
Supondo que quere tirar Qty. desde a táboa de busca ata a táboa de resumo como se mostra na captura de pantalla a continuación. Usar a fórmula Excel Iferror Vlookup produciría un resultado estéticamente agradable, técnicamente incorrecto porque Limóns existen na táboa de busca:
Para capturar # N/A pero mostra o erro #DIV/0, use a función IFNA en Excel 2013 e Excel2016:
=IFNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE), "Not found")
Ou, a combinación IF ISNA en Excel 2010 e versións anteriores:
=IF(ISNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE)),"Not found", VLOOKUP(F3,$A$3:$D$6,4,FALSE))
A sintaxe de IFNA VLOOKUP e IF ISNA As fórmulas de BUSCAR V son semellantes ás de BUSCAR V IFERRO e BUSCAR V IF ERRO que se comentaron anteriormente.
Como se mostra na captura de pantalla a continuación, a fórmula da Busca V de Ifna devolve "Non atopado" só para o elemento que non está presente na táboa de busca. ( Pexegos ). Para Lemons , amosa #DIV/0! indicando que a nosa táboa de busca contén un erro de división por cero:
Para obter máis detalles, consulte Usar a función IFNA en Excel.
Mellores prácticas para usar IFERROR en Excel
Ata agora xa sabes que a función IFERROR é a forma máis sinxela de detectar erros en Excel e enmascaralos con celas en branco, valores cero ou mensaxes personalizadas. Non obstante, iso non significa que debas envolver todas e cada unha das fórmulas co tratamento de erros. As seguintes recomendacións sinxelas poden axudarche a manter o equilibrio.
- Non atrapes erros sen un motivo.
- Envolve a parte máis pequena posible dunha fórmula en IFERROR.
- Para xestionar só erros específicos, use unha función de tratamento de erros cun alcance menor:
- IFNA ou IF ISNA para detectar só erros #N/A.
- ISERR para detectar todos os erros excepto os #N/A.
Así é como usa a función IFERROR en Excel para capturar e xestionar erros. Para ollar máis de cerca as fórmulas discutidas nestetutorial, podes descargar o noso libro de traballo de Excel IFERROR de mostra. Agradézoche a lectura e espero verte no noso blog a vindeira semana.