Clases Excel
Sábado, 09 Agosto 2014 23:23

Cómo interceptar y ocultar mensajes de error

Valora este artículo
(5 votos)

Cuando Excel no puede resolver una fórmula devuelve un mensaje de error, como #¡DIV/0!, #N/A, #¡NUM!, etc. Al momento de diseñar una planilla estos mensajes son útiles, pues nos ayudan a identificar los errores que hemos cometido. Pero en algunos casos es necesario que interceptemos estos mensajes y los sustituyamos por otros valores. Veamos cómo hacerlo.

Interceptar mensajes de error 1

 

Ejemplo 1: División entre cero

Cuando en una fórmula intentamos dividir un número entre 0, Excel nos devuelve un mensaje de error muy concreto: #¡DIV/0! El problema se suele dar cuando en el divisor hacemos referencia a una celda que contiene un cero o a una celda vacía. Por ejemplo:

 

Interceptar mensajes de error 2

 

 

Hay que reconocer que estos mensajes son bastante desagradables y generan cierta alarma innecesaria. Pero, lo que es peor, a veces pueden llegar a generar una serie de errores en cadena, como en el siguiente ejemplo:

 

Interceptar mensajes de error 3

 

 

Si se intentan sumar los valores de un rango que contiene un mensaje de error, se obtiene como resultado dicho mensaje de error. Y si este total se usara a su vez en alguna otra fórmula, el mensaje se seguiría perpetuando.

 

¿Cómo podemos evitar esto y que en lugar de #¡DIV/0! aparezca, por ejemplo, un cero? Básicamente, tenemos dos formas de hacerlo:

 

La primera opción es mediante la función SI. Para el caso del ejemplo anterior, una solución sería escribir (en D6):

=SI(C6=0;0;B6/C6)

 

Esto le dice a Excel que si C6=0 (es decir, si en C6 hay un cero o una celda vacía), muestre un 0; de lo contrario, que muestre el resultado de la división (B6/C6).

 

Otra manera de lograr lo mismo es con la función SI.ERROR (o SIERROR, en Excel 2010).

 

SI.ERROR nos da la posibilidad de sustituir el resultado de una fórmula por otro que nosotros le indiquemos; esto solo lo hace en caso de que la fórmula dé como resultado un mensaje de error. Si la fórmula evaluada no devuelve un mensaje de error, SI.ERROR no la intercepta.

 

La función SI.ERROR, por lo tanto, requiere dos argumentos: 1) la fórmula a evaluar y 2) el valor que deberá devolverse si el resultado de la fórmula fuera un mensaje de error.

 

Volvamos al ejemplo y utilicemos la función SI.ERROR para sustituir el mensaje de error por un cero:

=SI.ERROR(B6/C6;0)

 

Si el primer argumento de la función (B6/C6) devuelve un mensaje de error, Excel lo intercepta y retorna un 0; de lo contrario muestra el resultado del primer argumento.

 

Como vemos, esta última función devuelve igual resultado que la anterior, que usaba el SI, pero tiene dos ventajas:

  1. Utiliza menos argumentos y es más fácil de implementar, porque no necesitamos especificar una condición.
  2. Podemos interceptar con ella cualquier tipo de error y no solo la división entre cero.

 

  • Función SI.ERROR (= SIERROR en Excel 2010)
  • Qué hace: La función SI.ERROR analiza el resultado de una fórmula. Devuelve un resultado personalizado si la fórmula evaluada muestra un mensaje de error. De lo contrario devuelve el resultado de la fórmula.
  • Ejemplo: =SI.ERROR(A1;"Si A1 muestra un error, se ve este texto")

 

 

Ejemplo 2: Búsquedas fallidas

Otro mensaje de error habitual es #N/A, que se produce cuando una función de búsqueda no puede localizar el valor pedido. Es común que aparezca como resultado de la función BUSCARV (o CONSULTAV en Excel 2010). Por ejemplo, si la celda de la cual la función toma el valor a buscar estuviera vacía, la función devolvería un #N/A como resultado.

 

Interceptar mensajes de error 4

 

 

En la imagen anterior, C4 contiene una función BUSCARV que hace referencia a una celda vacía (C2):

BUSCARV(C2;datos;2;0)

 

El resultado es el mensaje de error #N/A, que significa que el valor buscado no fue encontrado; lo cual es lógico, porque no hay ningún valor para buscar.

 

Este mensaje pudiera evitarse muy simplemente acudiendo a la fórmula SI.ERROR mencionada antes:

=SI.ERROR(BUSCARV(C2;datos;2;0);"")

 

En este caso, SI.ERROR interceptaría el mensaje #N/A y no devolvería ningún valor, porque dos comillas dobles seguidas ("") equivalen a una cadena de texto vacía.

 

Interceptar mensajes de error 4

 

 

Interceptar otros mensajes de error

Aunque hemos visto solo dos ejemplos, la función SI.ERROR puede utilizarse para interceptar cualquier tipo de error devuelto por cualquier fórmula. Este comportamiento muchas veces será el deseado, pero en algunas ocasiones tal vez deseemos una intervención más selectiva. Por ejemplo, que solo se intercepte el mensaje de error #N/A o que por el contrario se intercepten todos menos el #N/A, etc. En estos casos tendríamos que recurrir a otras funciones o a una combinación de ellas. Aquí van algunas posibilidades:

 

  • Interceptar solo #N/A (desde Excel 2013)
  • Función: SI.ND
  • Qué hace: La función SI.ND hace exactamente lo mismo que la función SI.ERROR, pero solo intercepta los mensajes #N/A. Es decir: Devuelve un resultado personalizado si la fórmula evaluada muestra #N/A. De lo contrario devuelve el resultado de la fórmula.
  • Ejemplo: =SI.ND(A1;"Si A1 muestra #N/A, se ve este texto")

 

  • Detectar solo #N/A
  • Función: ESNOD
  • Qué hace: La función ESNOD devuelve VERDADERO si la celda evaluada está dando un mensaje #N/A como resultado. De lo contrario devuelve FALSO.
  • Ejemplo: =SI(ESNOD(A1);"A1 muestra #N/A"; "A1 no muestra #N/A")

 

  • Detectar todos los mensajes de error menos #N/A
  • Función: ESERR
  • Qué hace: La función ESERR devuelve VERDADERO si la celda evaluada está dando como resultado un mensaje de error diferente de #N/A. De lo contrario devuelve FALSO.
  • Ejemplo: =SI(ESERR(A1);"A1 muestra un error diferente a #N/A"; "A1 muestra #N/A o no muestra error")

 

  • Evaluar el tipo de error que devuelve una fórmula
  • Función: TIPO.DE.ERROR
  • Qué hace: La función TIPO.DE.ERROR evalúa el resultado de una fórmula y, si es un mensaje de error, devuelve un número que lo identifica. Si la celda evaluada no devuelve un mensaje de error, muestra #N/A.
  • Ejemplo: =SI(TIPO.DE.ERROR(A1)=2;"A1 muestra #¡DIV/0!";"A1 no muestra #¡DIV/0!")
  • El significado de los valores devueltos por TIPO.DE.ERROR son los siguientes:
  • 1 - #¡NULO! 4 - #¡REF! 7 - #N/A
    2 - #¡DIV/0! 5 - #¿NOMBRE? 8 - #OBTENIENDO_DATOS
    3 - #¡VALOR! 6 - #¡NÚM! #N/A - Otro valor

 

 

Observación: Existe también una función denominada ESERROR, cuyo único argumento es la fórmula que se quiere evaluar. Esta función devuelve VERDADERO en caso de que la fórmula evaluada dé cómo resultado un mensaje de error. Pero como la función ESERROR casi siempre se usa en combinación con la función SI, su utilidad es casi nula desde la incorporación de SI.ERROR, en Excel 2007.

ESERROR SI.ERROR
=SI(ESERROR(A1);"";A1) =SI.ERROR(A1;"")
=SI(ESERROR(BUSCARV(A1;Matriz;2;0));"";BUSCARV(A1;Matriz;2;0)) =SI.ERROR(BUSCARV(A1;Matriz;2;0);"")

 

Para un análisis detallado de cada uno de los mensajes de error, consulta el artículo: Significado de los mensajes de error en Excel.

 

¿Te pareció práctica esta información? Si es así, te invitamos a suscribirte a nuestro boletín para mantenerte al tanto de los artículos y noticias más relevantes que se publiquen en el blog.

 

Visto 10591 veces Modificado por última vez en Jueves, 31 Marzo 2016 05:14

Deja un comentario

Los campos imprescindibles están marcados con asterisco (*). Tu dirección de correo nunca será publicada.

2 comentarios

  • Enlace al Comentario Clases Excel Martes, 24 Noviembre 2015 16:09 publicado por Clases Excel

    Muchas gracias, Francisco.

    Es reconfortante cuando se logra llegar al objetivo y que el artículo resulta de algún provecho.

    Saludos

  • Enlace al Comentario Francisco Solorzano Martes, 24 Noviembre 2015 04:36 publicado por Francisco Solorzano

    Buenas noches
    Excelente!
    He tenido la oportunidad de aprender en otros lugares sobre los tipos de errores que EXCEL nos presenta.
    Pero verlo de la manera como lo explicas...es verdaderamente excepcional...!!!
    Gracias por este aporte y como los demás aportes que nos haz presentado.
    Saludos.

Suscríbete a nuestro Boletín gratuito

Recibe periódicamente en tu email los últimos artículos, tutoriales y otras novedades de Excel.


Tus datos son confidenciales, nunca serán compartidos con nadie.

Inicio    Contacto    Términos y condiciones    Mapa del sitio

Ir arriba

Desarrollado por www.espectradesign.com