El manejo de errores es un paso importante en el desarrollo de una hoja de cálculo. Aunque tengamos límites de protección y validación en nuestro libro, muchas veces las fórmulas y funciones que hayamos implementado podrán generar errores, los cuáles, usualmente, pueden ser esperados de acuerdo la naturaleza de las operaciones que estemos realizando. Excel posee varias funciones para manejar dichos errores. Como parte de la serie funciones indispensables que debes dominar en Excel, el día de hoy nos centraremos en dos de ellas, las funciones SI.ERROR y ESERROR.
Sintaxis SI.ERROR
=SI.ERROR(valor o referencia a evaluar, valor si es error)
Esta función, introducida en Excel 2007, toma un valor o referencia como primer argumento. Si en dicho argumento se genera un error, la función devolverá el segundo argumento. A pesar de su sencillez, es muy valiosa, pues nos permite establecer un curso de acción en caso de que se genere algún error esperado. Como segundo argumento (valor si error), podríamos colocar un valor, referencia u otra expresión. Vale mencionar que la función detecta cualquier tipo de error estándar generado por Excel (N/A, DIV/0, NUM, entre otros).
Mensaje de error
En nuestro ejemplo, se desea obtener el código de un producto, para lo cual se debe introducir el producto y número deseado en la celda G4. Una función de búsqueda en la celda G5 devolverá el código del producto, siempre y cuando el producto esté en la tabla objetivo. Si no está en la tabla, devolverá un error N/A. Una alternativa que tenemos para manejar dicho error es mostrar un mensaje más descriptivo como «No Encontrado». Veamos cómo funciona.
De la misma forma que se ha modificado el error por una cadena de texto, recordemos que el argumento también puede ser otro valor, referencia o expresión.
Sintaxis ESERROR
=ESERROR(valor o referencia)
Esta función informativa nos indicará si su único argumento valor es un error. Devolverá el resultado como un valor booleano VERDADERO para errores o FALSO para todos los demás casos. Dicha respuesta puede ser utilizada luego como argumento de otras fórmulas y funciones.
En realidad, muchos han reemplazado el uso de la función ESERROR con la función SI.ERROR, pues en la mayoría de los casos, lo que necesitamos es ejecutar una acción si existe un error y esa función es perfecta para eso. Sin embargo, todavía existen ocasiones donde podemos aplicar ESERROR.
La primera sería por compatibilidad con Excel 2003 o versiones anteriores. Aunque ya es una versión obsoleta, se de empresas que todavía la están utilizando. También podría ser por compatibilidad con otras suites ofimáticas que no incluyan la función SI.ERROR.
En segundo lugar, podría haber ocasiones donde todavía es útil sólo saber si hay o no un error, y ejecutar una operación directamente sobre esa información. Veamos un ejemplo donde sólo deseamos contar cuantas celdas están generando error.
Contar errores
En el siguiente ejemplo, tenemos un listado de productos y el cálculo de su precio unitario en función del ingreso por ventas y la cantidad vendida. Algunos productos no incluyen la cantidad, por lo tanto, la operación generará un error de división entre cero (#¡DIV/0!). Deseamos contar cuantos productos no especifican la cantidad vendida.
En el ejemplo, podemos observar el uso de una fórmula matricial con las funciones CONTAR, SI y ESERROR, para determinar cuántos productos no tienen incluida una cantidad y por lo tanto generarán un error al determinar su precio unitario.
¿ESERR?
Cómo un último dato sobre esta función, observen la ayuda al intentar copiar la función ESERROR. ¿Qué observan? También aparece una función llamada ESERR, la cual cumple el mismo objetivo, pero excluye el tipo de error N/A, así que tengan esto en cuenta al utilizar la función y verifiquen si están utilizando la función correcta.
Espero que incorporen estas funciones de manejo de errores en su arsenal de herramientas y logren aplicarlas de forma práctica en sus desarrollos. Hasta la próxima entrada.