IFERROR

La función IFERROR evalúa una expresión y devuelve el resultado obtenido si éste no es un error. En caso contrario (si la expresión evaluada devuelve un error), la función devuelve el resultado de evaluar la expresión incluida como segundo argumento.

Esta función básicamente permite asegurar que el resultado a devolver no va a ser nunca un error (con los matices indicados más adelante), sirviendo para atrapar y gestionar adecuadamente errores en la evaluación de expresiones.

Sintaxis

IFERROR(
    value,
    value_if_error
)

Parámetros
  • value: Valor o expresión a evaluar, cuyo resultado será devuelto por IFERROR si no se produce ningún error.
  • value_if_error: Valor o expresión a devolver en el caso de que la evaluación de value devuelva un error.
Valor devuelto

IFERROR devuelve un valor cuyo tipo será el de los argumentos pasados a la función.

Información adicional

La función IFERROR está basada en la función IF, pero utiliza menos argumentos:

IFERROR(A, B) == IF(ISERROR(A), B, A)

Tanto value como value_if_error deben ser del mismo tipo. Si, por ejemplo, se están calculando las ventas medias por mes, podemos devolver un 0 en el caso de que el denominador (el número de meses) sea 0 (lo que originaría un error de cálculo):

Función IFERROR: Ejemplo de uso

También podría devolverse un Blank:

Función IFERROR: Ejemplo de uso

O incluso otra expresión:

Función IFERROR: Ejemplo de uso

Pero un intento por devolver un valor de otro tipo (booleano, texto, etc.) provoca un error:

Función IFERROR: Ejemplo de uso

En el siguiente ejemplo se utiliza una función de texto (LEFT) en la que se fuerza un error especificando como número de caracteres a extraer un valor negativo, y la función IFERROR devuelve la cadena de texto pasada como segundo argumento:

Función IFERROR: Ejemplo de uso

Por supuesto, nada nos impide incluir como argumento a devolver en caso de error una función que también pueda dar un error durante su evaluación (es decir, la función IFERROR no siempre asegura un resultado no erróneo). En el siguiente ejemplo se utiliza como expresión a devolver en caso de error la misma expresión evaluada (pero podría ser otra cualquiera):

Función IFERROR: Ejemplo de uso

Debe tenerse en cuenta que poder asegurar la devolución de un valor "no erróneo" (añadiendo el segundo argumento) no resuelve el motivo por el que el error original se ha producido. Es por ello que la función IFERROR debe servir para la captura de errores y su correcta gestión, no solo para esconderlos.

Ejemplos

En el siguiente ejemplo se utiliza la función SEARCH para buscar la primera aparición de la letra "a" en la columna Manufacturer que contiene nombres de fabricantes, y la función MID para devolver tres caracteres a partir de dicha posición. La función MID se incluye como primer argumento de la función IFERROR para que, en aquellos casos en los que no se encuentre ninguna letra "a" (ocasiones en las que la función SEARCH va a devolver un error), se devuelva un resultado controlado (un Blank en este caso).

Nótese que, en la última fila, la letra "a" ocupa la última posición de la cadena de texto, por lo que MID solo devuelve esa letra (lo que puede confirmarse viendo la longitud del texto extraído).

Función IFERROR: Ejemplo de uso

Categoría
Lógicas
Enviado por admin el Lun, 03/12/2018 - 23:37