Tabla de contenido
El tutorial muestra cómo utilizar IFERROR en Excel para detectar errores y sustituirlos por una celda en blanco, otro valor o un mensaje personalizado. Aprenderá a utilizar la función IFERROR con Vlookup e Index Match, y cómo se compara con IF ISERROR e IFNA.
"Dame un lugar para pararme, y moveré la tierra", dijo Arquímedes una vez. "Dame una fórmula, y haré que devuelva un error", diría un usuario de Excel. En este tutorial, no veremos cómo devolver errores en Excel, más bien aprenderemos a prevenirlos para mantener tus hojas de trabajo limpias y tus fórmulas transparentes.
Función IFERROR de Excel - sintaxis y usos básicos
La función IFERROR de Excel está diseñada para atrapar y gestionar errores en fórmulas y cálculos. Más concretamente, IFERROR comprueba una fórmula y, si se evalúa con un error, devuelve otro valor especificado; en caso contrario, devuelve el resultado de la fórmula.
La sintaxis de la función IFERROR de Excel es la siguiente:
IFERROR(valor, valor_si_error)Dónde:
- Valor (obligatorio) - lo que se va a comprobar en busca de errores. Puede ser una fórmula, una expresión, un valor o una referencia de celda.
- Valor_si_error (obligatorio) - qué devolver si se encuentra un error. Puede ser una cadena vacía (celda en blanco), un mensaje de texto, un valor numérico, otra fórmula o cálculo.
Por ejemplo, al dividir dos columnas de números, puede obtener un montón de errores diferentes si una de las columnas contiene celdas vacías, ceros o texto.
Para evitar que esto ocurra, utilice la función IFERROR para capturar y gestionar los errores de la forma que desee.
Si error, entonces en blanco
Introduzca una cadena vacía (") en el campo value_if_error para devolver una celda en blanco si se encuentra un error:
=IFERROR(A2/B2, "")
Si se produce un error, muestre un mensaje
También puede mostrar su propio mensaje en lugar de la notación de error estándar de Excel:
=IFERROR(A2/B2, "Error de cálculo")
5 cosas que debe saber sobre la función IFERROR de Excel
- La función IFERROR en Excel maneja todos los tipos de error incluyendo #DIV/0!, #N/A, #NAME?, #NULL!, #NUM!, #REF!, y #VALUE!
- En función del contenido del value_if_error IFERROR puede sustituir los errores por un mensaje de texto personalizado, un número, una fecha o un valor lógico, el resultado de otra fórmula o una cadena vacía (celda en blanco).
- Si el valor es una celda en blanco, se trata como una cadena vacía (''') pero no como un error.
- IFERROR se introdujo en Excel 2007 y está disponible en todas las versiones posteriores de Excel 2010, Excel 2013, Excel 2016, Excel 2019, Excel 2021 y Excel 365.
- Para atrapar errores en Excel 2003 y versiones anteriores, utilice la función ISERROR en combinación con IF, como se muestra en este ejemplo.
Ejemplos de fórmulas IFERROR
Los siguientes ejemplos muestran cómo utilizar IFERROR en Excel en combinación con otras funciones para realizar tareas más complejas.
Excel IFERROR con Vlookup
Uno de los usos más comunes de la función IFERROR es indicar a los usuarios que el valor que están buscando no existe en el conjunto de datos. Para ello, se envuelve una fórmula VLOOKUP en IFERROR de la siguiente manera:
IFERROR(VLOOKUP( ... ), "No encontrado")Si el valor de búsqueda no se encuentra en la tabla en la que está buscando, una fórmula Vlookup normal devolvería el error #N/A:
Para tranquilidad de sus usuarios, envuelva VLOOKUP en IFERROR y muestre un mensaje más informativo y fácil de usar:
=IFERROR(VLOOKUP(A2, 'Tabla de búsqueda'!$A$2:$B$4, 2,FALSE), "No encontrado")
La siguiente captura de pantalla muestra esta fórmula Iferror en Excel:
Si desea atrapar sólo los errores #N/A pero no todos los errores, utilice la función IFNA en lugar de IFERROR.
Para ver más ejemplos de fórmulas IFERROR VLOOKUP de Excel, consulte estos tutoriales:
- Iferror con Vlookup para atrapar y gestionar errores
- Cómo obtener la enésima aparición de un valor de búsqueda
- Cómo obtener todas las apariciones de un valor de búsqueda
Funciones IFERROR anidadas para hacer Vlookups secuenciales en Excel
En situaciones en las que necesite realizar múltiples Vlookups basados en si el Vlookup anterior tuvo éxito o falló, puede anidar dos o más funciones IFERROR una dentro de otra.
Supongamos que tiene una serie de informes de ventas de sucursales regionales de su empresa, y desea obtener un importe para un determinado ID de pedido. Con A2 como valor de búsqueda en la hoja actual, y A2:B5 como rango de búsqueda en 3 hojas de búsqueda (Informe 1, Informe 2 e Informe 3), la fórmula es la siguiente:
=IFERROR(VLOOKUP(A2,'Informe 1'!A2:B5,2,0),IFERROR(VLOOKUP(A2,'Informe 2'!A2:B5,2,0),IFERROR(VLOOKUP(A2,'Informe 3'!A2:B5,2,0), "no encontrado")))
El resultado será algo parecido a esto:
Para la explicación detallada de la lógica de la fórmula, por favor vea Cómo hacer Vlookups secuenciales en Excel.
IFERROR en fórmulas de matriz
Como probablemente sabrá, las fórmulas de matriz en Excel están pensadas para realizar múltiples cálculos dentro de una única fórmula. Si suministra una fórmula o expresión de matriz que da como resultado una matriz en el campo valor de la función IFERROR, devolverá una matriz de valores para cada celda del rango especificado. El siguiente ejemplo muestra los detalles.
Digamos que tienes Total en la columna B y Precio en la columna C, y desea calcular Cantidad total Esto se puede hacer de la siguiente manera fórmula de matriz, que divide cada celda del rango B2:B4 por la celda correspondiente del rango C2:C4, y luego suma los resultados:
=SUMA($B$2:$B$4/$C$2:$C$4)
La fórmula funciona correctamente siempre que el rango divisor no tenga ceros o celdas vacías. Si hay al menos un valor 0 o una celda vacía, se devuelve el error #DIV/0!
Para solucionar ese error, basta con hacer la división dentro de la función IFERROR:
=SUMA(IFERROR($B$2:$B$4/$C$2:$C$4,0))
Lo que hace la fórmula es dividir un valor de la columna B por un valor de la columna C en cada fila (100/2, 200/5 y 0/0) y devolver la matriz de resultados {50; 40; #¡DIV/0!}. La función IFERROR captura todos los errores #¡DIV/0!} y los sustituye por ceros. Y después, la función SUMA suma los valores de la matriz resultante {50; 40; 0} y devuelve el resultado final (50+40=90).
Nota: Recuerde que las fórmulas de matriz deben completarse pulsando la combinación de teclas Ctrl + Mayús + Intro.
IFERROR vs. IF ISERROR
Ahora que ya sabe lo fácil que es utilizar la función IFERROR en Excel, puede que se pregunte por qué algunas personas siguen inclinándose por utilizar la combinación IF ISERROR. ¿Tiene alguna ventaja en comparación con IFERROR? Ninguna. En los malos tiempos de Excel 2003 e inferiores, cuando no existía IFERROR, IF ISERROR era la única forma posible de atrapar errores. En Excel 2007 y posteriores, es simplemente una forma un poco más compleja delograr el mismo resultado.
Por ejemplo, para detectar errores de Vlookup, puede utilizar cualquiera de las fórmulas siguientes.
En Excel 2007 - Excel 2016:
IFERROR(VLOOKUP( ... ), "No encontrado")En todas las versiones de Excel:
IF(ISERROR(VLOOKUP(...)), "No encontrado", VLOOKUP(...))Observe que en la fórmula IF ISERROR VLOOKUP, tiene que hacer Vlookup dos veces. En inglés sencillo, la fórmula se puede leer de la siguiente manera: Si Vlookup da como resultado un error, devuelva "No encontrado", de lo contrario imprima el resultado de Vlookup.
Y aquí está un ejemplo de la vida real de un Excel If Iserror Vlookup fórmula:
=IF(ISERROR(VLOOKUP(D2, A2:B5,2,FALSE)), "No encontrado", VLOOKUP(D2, A2:B5,2,FALSE ))
Para obtener más información, consulte Uso de la función ISERROR en Excel.
IFERROR vs. IFNA
Introducida con Excel 2013, IFNA es una función más para comprobar si hay errores en una fórmula. Su sintaxis es similar a la de IFERROR:
IFNA(valor, valor_if_na)¿En qué se diferencia IFNA de IFERROR? La función IFNA atrapa sólo errores #N/A mientras que IFERROR maneja todos los tipos de error.
¿En qué situaciones puede ser conveniente utilizar IFNA? Cuando no es aconsejable ocultar todos los errores. Por ejemplo, cuando se trabaja con datos importantes o sensibles, es posible que se desee recibir una alerta sobre posibles fallos en el conjunto de datos, y los mensajes de error estándar de Excel con el símbolo "#" podrían ser vívidos indicadores visuales.
Veamos cómo se puede crear una fórmula que muestre el mensaje "No encontrado" en lugar del error N/A, que aparece cuando el valor de búsqueda no está presente en el conjunto de datos, pero que llama la atención sobre otros errores de Excel.
Supongamos que desea extraer Ctd. de la tabla de consulta a la tabla de resumen como se muestra en la captura de pantalla siguiente. Utilizando la fórmula de Excel Iferror Vlookup se obtendría un resultado estéticamente agradable, que es técnicamente incorrecto porque Limones existen en la tabla de consulta:
Para capturar #N/A pero mostrar el error #DIV/0, utilice la función IFNA en Excel 2013 y Excel 2016:
=IFNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE), "No encontrado")
O, la combinación IF ISNA en Excel 2010 y versiones anteriores:
=IF(ISNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE)), "No encontrado", VLOOKUP(F3,$A$3:$D$6,4,FALSE))
La sintaxis de las fórmulas IFNA VLOOKUP e IF ISNA VLOOKUP es similar a la de IFERROR VLOOKUP e IF ISERROR VLOOKUP comentada anteriormente.
Como se muestra en la siguiente captura de pantalla, la fórmula Ifna Vlookup devuelve "No encontrado" sólo para el elemento que no está presente en la tabla de búsqueda ( Melocotones ). Para Limones muestra #DIV/0! indicando que nuestra tabla de búsqueda contiene un error de división por cero:
Para más detalles, consulte Uso de la función IFNA en Excel.
Mejores prácticas para el uso de IFERROR en Excel
A estas alturas ya sabe que la función IFERROR es la forma más sencilla de detectar errores en Excel y enmascararlos con celdas en blanco, valores cero o mensajes personalizados propios. Sin embargo, eso no significa que deba envolver todas y cada una de las fórmulas con un tratamiento de errores. Las siguientes recomendaciones sencillas pueden ayudarle a mantener el equilibrio.
- No atrape los errores sin motivo.
- Envuelve la parte más pequeña posible de una fórmula en IFERROR.
- Para gestionar sólo errores específicos, utilice una función de gestión de errores con un ámbito menor:
- IFNA o IF ISNA para detectar sólo errores #N/A.
- ISERR para detectar todos los errores excepto #N/A.
Así es como se utiliza la función IFERROR en Excel para atrapar y manejar errores. Para echar un vistazo más de cerca a las fórmulas discutidas en este tutorial, le invitamos a descargar nuestro libro de Excel de ejemplo IFERROR. Le agradezco su lectura y espero verle en nuestro blog la próxima semana.