Táboa de contidos
O titorial analiza os usos prácticos da función ISERROR de Excel e mostra como probar diferentes fórmulas para detectar erros.
Cando escribes unha fórmula que Excel non entende ou non pode calcular, chama a túa atención sobre o problema mostrando unha mensaxe de erro. A función ISERROR pode axudarche a detectar erros e ofrecer unha alternativa cando se atopa un erro.
Función ISERROR en Excel
A función ISERROR de Excel detecta todo tipo de erros. incluíndo #CALC!, #DIV/0!, #N/A, #NAME?, #NUM!, #NULL!, #REF!, #VALUE! e #SPILL!. O resultado é un valor booleano: TRUE se se detecta un erro, FALSO en caso contrario.
A función está dispoñible en todas as versións de Excel 2000 a 2021 e Excel 365.
A sintaxe do ISERROR. A función é tan sinxela como esta:
ISERROR(valor)Onde valor é o valor da cela ou a fórmula que se vai comprobar para detectar erros.
Fórmula de Excel ISERROR
Para crear unha fórmula ISERROR na súa forma máis sinxela, proporcione unha referencia á cela que quere comprobar para detectar erros. Por exemplo:
=ISERROR(A2)
No caso de que se atope algún erro, obterás VERDADEIRO. Se non hai ningún erro na cela probada, obterá FALSE:
IF ISERROR fórmula en Excel
Para devolver unha mensaxe personalizada ou realizar unha cálculo diferente cando se produce un erro, use ISERROR xunto coa función IF. A fórmula xenérica ten o seguinte aspecto:
IF(ISERROR( formula(…), text_or_calculation_if_error, formula())Traducido a unha linguaxe humana, di: se a fórmula principal resulta nun erro, amosa o texto especificado ou executa outro cálculo; se non, devolve un resultado normal da fórmula.
Na imaxe de abaixo, dividir o total pola cantidade xera un par de erros no Prezo. Columna :
Para substituír todos os códigos de erro diferentes por un texto personalizado, podes utilizar a seguinte fórmula SE É ERROR:
=IF(ISERROR(A2/B2), "Unknown", A2/B2)
En Excel 2007 e versións posteriores, pódese conseguir o mesmo resultado coa axuda da función IFERROR incorporada:
=IFERROR(A2/B2, "Unknown")
Debería ser observou que a fórmula IFERROR execútase un pouco máis rápido porque realiza o cálculo A2/B2 só unha vez. Mentres que IF ISERROR calcúlao dúas veces, primeiro para ver se xera un erro e despois de novo se a proba é FALSA.
Fórmula IF ISERROR VLOOKUP
Usar ISERROR con VLOOKUP é, de feito, un caso particular do IF IS Fórmula de ERROR comentada anteriormente. Cando a función BUSCARV non pode atopar o valor de busca ou falla por calquera outro motivo, mostra unha mensaxe de texto personalizada usando esta sintaxe:
IF(ISERROR(BUSCARV(…)), " texto_personalizado", BUSCARV(…))Para este exemplo, extraemos os tempos da táboa de busca (D3:E10) á táboa principal (A3:B15). Se o valor de busca (nome do participante) non existe notáboa de busca, devolveremos "Non cualificado".
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$10, 2, FALSE)), "Not qualified", VLOOKUP(A3, $D$3:$E$10, 2, FALSE))
Consello. Se quere amosar un texto personalizado só cando non se atopa un valor de busca (erro #N/A) ignorando outros erros, use a fórmula IFNA VLOOKUP en Excel 2013 e posteriores ou SE ISNA VLOOKUP en versións anteriores. versións.
SE É Fórmula DE COINCIDENCIA DE ÍNDICE DE ERROR
Ao realizar unha busca coa axuda da combinación de COINCIDENCIA DE ÍNDICE (ou a fórmula de INDEX XMATCH en Excel 365), pode atrapar e xestionar os posibles erros usando a mesma técnica: a función ISERROR busca erros e IF mostra o texto especificado cando se produce algún erro.
IF(ISERROR(INDEX ( return_column , MATCH ( lookup_value , lookup_column )>, 0)))), " texto_personalizado ", INDEX ( columna_devuelta , COINCIDIR ( valor_de_busca , columna_de_busca , 0)))Supoñamos que a táboa de busca ten tempos na primeira columna. Como BUSCARV non pode mirar á súa esquerda, usamos a fórmula INDEX MATCH para extraer os tempos da columna D:
=INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0))
E, a continuación, aniñádeo na fórmula xenérica mencionada anteriormente. para substituír os erros detectados por calquera texto que desexe:
=IF(ISERROR(INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0))), "Not qualified", INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0)))
Nota. Do mesmo xeito que coa fórmula BUSCAR V IF ISERROR, ten máis sentido atrapar só os erros #N/A e non disimular os posibles problemas coa propia fórmula. Para iso, envolve a súa fórmula INDEX MATH en IFNA en Excel 2013 e superior ou IF ISNA en versións anteriores.
SEISERROR Fórmula Si/Non
En todos os exemplos anteriores, IF ISERROR devolveu o resultado da fórmula principal se non é un erro. Non obstante, tamén pode funcionar dun xeito diferente: devolver algo se hai erro e outra cousa se non hai erro.
IF(ISERROR( fórmula (…)), " text_if_error " , " text_if_no_error ")No noso conxunto de datos de mostra, supoña que non está interesado nos horarios exactos, só quere saber cales participantes do grupo A están cualificados e cales non. Para iso, use a función COINCIDIR para comparar o nome da columna A coa lista de participantes cualificados da columna D e, a continuación, envíe os resultados a ISERROR. Se o nome non está dispoñible na columna D (coincidir devolve un erro), obtén a función IF para mostrar "Non" ou "Non cualificado". Se o nome aparece na columna D (sen erro), devolve "Si" ou "Calificado".
=IF(ISERROR(MATCH(A3, $D$3:$D$10, 0)), "No", "Yes" )
Como contar o número de erros
Para obter o número de erros nunha determinada columna, cómpre comprobar un intervalo, non só unha cela. Para iso, "alimenta" o intervalo de destino a ISERROR e coacciona os valores booleanos devoltos en 1 e 0 usando o operador unario dobre (--). A función SUMA ou SUMAPRODUTO pode sumar os números e proporcionar o resultado final.
Por exemplo:
=SUM(--ISERROR(C2:C10))
Ten en conta que só funciona como fórmula normal en Excel 365 e Excel 2021, que admiten matrices dinámicas. En Excel 2019 e anteriores, ticómpre premer Ctrl + Maiús + Intro para crear unha fórmula matricial (non escriba corchetes manualmente, iso non funcionará!):
{=SUM(--ISERROR(C2:C10))}
Como alternativa, pode usar o SUMPRODUCT función que manexa matrices de forma nativa, polo que a fórmula pódese completar coa tecla Intro habitual en todas as versións:
=SUMPRODUCT(--ISERROR(C2:C10))
Diferenza entre ISERROR e IFERROR en Excel
Ambas as funcións ISERROR e IFERROR úsanse para capturar e xestionar erros en Excel. A diferenza é a seguinte:
- Na súa forma pura, ISERROR só proba se o valor é un erro ou non. Está dispoñible en todas as versións de Excel.
- A función IFERROR está deseñada para suprimir ou disimular erros; cando se atopa un erro, devolve outro valor que especifique. Está dispoñible en Excel 2007 e superior.
A primeira vista, IFERROR parece unha alternativa abreviada á fórmula IF ISERROR. Con máis detalle, con todo, pode notar a diferenza:
- IFERROR permítelle especificar só value_if_error . Se non hai erro, sempre devolve o resultado do valor/fórmula probado.
- IF ISERROR ofrece máis flexibilidade e permíteche xestionar ambas situacións: que debería ocorrer se hai un erro e que pasa se non hai erro.
Para ilustrar mellor o punto, considere estas fórmulas:
=IFERROR(A1, "Calculation error")
=IF(ISERROR(A1), "Calculation error", A1)
Estas dúas fórmulas son equivalentes; ambas verifican un valor baseado na fórmula en A1 e volta"Erro de cálculo" se é un erro, se non, devolve o valor.
Pero e se queres realizar algún cálculo se o valor de A1 non é un erro? A función IFERROR non é capaz de facelo. No caso de IF ISERROR, simplemente escriba o cálculo desexado no último argumento. Por exemplo:
=IF(ISERROR(A1), "Calculation error", A1*2)
Como ves, esta variación máis longa da fórmula IFERROR, que a miúdo se considera desactualizada, aínda pode ser útil :)
Descargas dispoñibles
Exemplos de fórmulas ISERROR (ficheiro .xlsx)