CORREGIR EL ERROR #N/D EN LA FUNCIÓN BUSCARV

Habrá ocasiones en las que la función BUSCARV no encontrará coincidencias del valor buscado dentro de los datos y devolverá un error.

El mensaje de error que identifica este problema es el error #N/A, que también se puede observar como el error #N/D, y ambos se refieren al mismo error.

En las versiones previas de Excel en español se mostraba el error #N/A, que proviene del inglés Not Available, pero en las versiones recientes se muestra el error #N/D por la traducción a No Disponible.

Cualquiera que sea la abreviatura del error, la realidad es que no será un mensaje amigable para los usuarios de la hoja, y en muchas ocasiones convendrá usar una función adicional para personalizar el mensaje de error.

La siguiente imagen muestra el momento exacto en que la función BUSCARV realiza una búsqueda sobre el rango A2:A11 del nombre Dana que está indicado en la celda E1.

Dicho nombre no existe dentro de la lista por lo que se obtendrá como resultado el error #N/A.

corregirerror

Se mostrarán las alternativas que se han usado a lo largo de los años para corregir el error #N/A que devuelve la función BUSCARV.

Se comenzará con el método más antiguo hasta llegar al más reciente.

EL ERROR #N/A EN EXCEL 2003 Y VERSIONES PREVIAS

Si se encuentra con un libro que haya sido creado en Excel 2003 o una versión anterior, se verá que el error #N/A se corregía usando dos funciones: la función SI y la función ESERROR.

Se comenzará por la función ESERROR, la cual pertenece a la categoría de funciones de información, y se encarga de comprobar el valor de una celda para saber si contiene un error y devolverá el valor verdadero o falso.

En la siguiente imagen se tiene la columna A con diferentes valores en las celdas, incluidos algunos errores, y en la columna B se utiliza la función ESERROR para evaluar el contenido de cada una de las celdas de la columna A.

corregirerror1

Se observa que solamente aquellos casos en donde existe un error, la función ESERROR devolverá el valor verdadero.

El resultado devuelto por la función ESERROR se puedes aprovechar para personalizar el mensaje mostrado y para eso se usará la función SI.

En este segundo ejemplo se tomará el valor de las celdas de la columna A y en caso de que exista un error, se reemplazará por el mensaje “ERROR” y en caso contrario, se mostrará la leyenda “OK”.

La fórmula a utilizar será la siguiente:

=SI(ESERROR(A2), "ERROR", "OK")

En caso de que la prueba lógica sea verdadera, se mostrará la leyenda “ERROR” y en caso de que sea falsa, se mostrará la leyenda “OK”.

La siguiente imagen muestra el resultado de aplicar esta fórmula en los datos de ejemplo.

corregirerror2

Es así como la combinación de funciones ESERROR y SI ayudan a detectar un error y a personalizar el mensaje mostrado en la celda.

Ahora se verá cómo utilizar este método para evitar mostrar el error #N/A enviado por la función BUSCARV.

Como ejemplo, se utilizarán los siguientes datos, donde se hace una búsqueda en la columna E de los valores ISBN de un libro sobre el listado que se encuentra en la columna A.

Se puede observar que, aquellos ISBN que no se encuentran muestran un error en la columna E.

corregirerror3

El objetivo será reemplazar el error #N/A por la leyenda “No encontrado” y para los demás resultados se dejará el título del libro.

La fórmula que se utilizará será la siguiente:

=SI(ESERROR(BUSCARV(D2, $A$2:$B$6, 2, FALSO)), "No encontrado", BUSCARV(D2, $A$2:$B$6, 2, FALSO))

En primer lugar, nótese que la función BUSCARV aparece dos veces y en ambos casos es exactamente igual.

La razón de esto es que, la función BUSCARV que se encuentra dentro de la función ESERROR sirve para saber si el valor buscado devuelve un error.

En caso de que la función BUSCARV devuelva error, la función SI se encargará de mostrar la leyenda “No encontrado”.

Pero si el resultado de la función ESERROR es falso, querrá decir que la función BUSCARV ha encontrado una coincidencia y por lo tanto se ejecutará una segunda vez para desplegar el valor encontrado.

Obsérvese que la segunda aparición de la función BUSCARV está colocada como el tercer argumento de la función SI y por lo tanto será ejecutada solo en caso de que la función ESERROR devuelva un valor FALSO.

En la siguiente imagen se puede observar el resultado de ejecutar esta fórmula sobre los datos de ejemplo y cómo se hace el reemplazo del error #N/A por la leyenda “No encontrado”.

corregirerror4

LA LLEGADA DE LA FUNCIÓN SI.ERROR

La función SI.ERROR implementa la misma lógica mostrada en la sección anterior, pero lo hace de una manera más sencilla lo cual facilita el trabajo.

Es muy importante recordar que la función SI.ERROR fue incluida a partir de Excel 2007 y no es posible usarla en versiones previas.

La función SI.ERROR tiene dos argumentos que se describen a continuación:

Valor: el valor o expresión que será evaluada.

Valor_si_error: el valor o expresión que será devuelto si el Valor resulta en error.

El primer argumento es el valor o expresión que va a evaluar y el segundo argumento es el valor que será devuelto en caso de que el primer argumento resulte en un error.

Por el contrario, si la evaluación del primer argumento de la función SI.ERROR no es un error, entonces la función devolverá el resultado del primer argumento.

Considérese la siguiente fórmula:

=SI.ERROR(BUSCARV(E1,A2:B11,2,FALSO), "Nombre no encontrado")

Esta fórmula evitará desplegar el mensaje de error #N/A devuelto por la función BUSCARV y en su lugar desplegará el mensaje “Nombre no encontrado”.

Obsérvese con detenimiento el resultado de la siguiente imagen:

corregirerror5

La función BUSCARV no encuentra el nombre “Dana” en la lista de nombres de la columna A y por lo tanto devuelve el error #N/A pero la función SI.ERROR se encarga de detectar dicho resultado y desplegar la leyenda “Nombre no encontrado” en lugar del error #N/A.

Por el contrario, si la función BUSCARV encuentra el valor buscado, entonces la función SI.ERROR no tendrá efecto alguno sobre el resultado.

Obsérvese la siguiente imagen donde se hace la búsqueda del nombre “Diana” el cual existe dentro de la lista:

corregirerror6

Recuérdese que la función SI.ERROR solamente afectará el resultado de la fórmula en caso de detectar la presencia de un error. De esta manera, la función SI.ERROR ayuda a personalizar los mensajes de error de cualquiera de las funciones de Excel incluyendo la función BUSCARV.

Una observación importante sobre la función SI.ERROR es que su nombre fue uno de los que sufrió un cambio con el lanzamiento de Excel 2010 en español.

En dicha versión, el nombre de la función era SIERROR, sin el punto después de la palabra SI.

Si se tiene dicha versión de Excel es muy probable que se deba usar el nombre SIERROR (sin punto).

Sin embargo, si se tiene Excel 2010 en español, y ya se ha instalado al menos el Service Pack 1 de Office, entonces el nombre de la función regresará a SI.ERROR (con punto).

Para versiones de Excel 2013 y posteriores, el nombre de la función se mantiene como SI.ERROR.

LA FUNCIÓN SI.ND EN MS EXCEL

La función SI.ERROR que se revisó en la sección anterior es capaz de detectar varios tipos de errores y funciona muy bien para detectar el error enviado por la función BUSCARV.

Sin embargo, a partir de Excel 2013 se tiene otra alternativa disponible y es usar la función SI.ND.

La función SI.ND no es un reemplazo de la función SI.ERROR sino que se especializa en detectar exclusivamente el error #N/D y por lo tanto se puede usar en conjunto con la función BUSCARV para personalizar los mensajes de error.

Considérese la siguiente fórmula:

=SI.ND(BUSCARV(E1,A2:B11,2,FALSO),"Nombre no encontrado")

En caso de que la función BUSCARV devuelva el error #N/D, la función SI.ND detecta el error y devuelve la leyenda “Nombre no encontrado”.

En la siguiente imagen puedes observar el comportamiento de esta función:

corregirerror7

Si se tiene una versión reciente de Excel se podrá usar cualquiera de los 3 métodos explicados anteriormente para reemplazar el error #N/D enviado por la función BUSCARV y mostrar un mensaje personalizado que será más amigable a los usuarios de la hoja de cálculo.

Nuestras publicaciones