Corregir el error #N/A en la función BUSCARV

En este tema se describen los motivos más comunes por los que se pueden producir errores con BUSCARV.

Sugerencia: Vea Tarjeta de referencia rápida: Sugerencias de solución de problemas de BUSCARV, donde se describen los motivos comunes de los problemas de #N/A con BUSCARV en un práctico archivo PDF (Portable Document Format). Puede compartir el archivo PDF con otros o imprimirlo para su propia referencia.

Problema: El valor de búsqueda no está en la primera columna del argumento matriz_buscar_en

Una de las mayores limitaciones de BUSCARV es que solo puede buscar valores en la columna del extremo izquierdo de una matriz de tabla. Por lo tanto, si el valor de búsqueda no está en la primera columna de la matriz, verá el error #N/A.

En la tabla siguiente queremos recuperar el número de unidades vendidas por Claudia.

Error #N/A en BUSCARV: El valor de búsqueda no está en la primera columna de la matriz de tabla

El error se produce porque el valor de búsqueda “Claudia” está en la segunda columna (Producido) en el argumento matriz_buscar_en (A2:C10), por lo que Excel lo busca en la columna A, en lugar de buscarlo en la columna B.

Solución: para intentar solucionar esto, ajuste BUSCARV para que haga referencia a la columna correcta. Si esto no es posible, intente cambiar la posición de las columnas. Esto puede resultar poco práctico si tiene hojas de cálculo complejas o de gran tamaño donde los valores de celda son resultados de otros cálculos, o bien puede que haya otras razones lógicas por las que simplemente no pueda cambiar la posición de las columnas. La solución es usar una combinación de las funciones ÍNDICE y COINCIDIR, que pueden buscar un valor en una columna, independientemente de su posición en la tabla de búsqueda.

Usar ÍNDICE o COINCIDIR en lugar de BUSCARV

Las funciones ÍNDICE y COINCIDIR se pueden usar cuando BUSCARV no se adapta a sus necesidades. La mayor ventaja de usar ÍNDICE y COINCIDIR es que puede buscar un valor en una columna de cualquier ubicación de la tabla de búsqueda. La función ÍNDICE devuelve un valor de una tabla o rango específico según su posición, mientras que COINCIDIR devuelve la posición relativa de un valor en una tabla o rango. Al usar ÍNDICE y COINCIDIR en una fórmula, puede buscar un valor en una tabla o matriz si especifica la posición relativa del valor en la tabla o matriz.

Usar ÍNDICE y COINCIDIR tiene varias ventajas frente a BUSCARV:

  • Con ÍNDICE y COINCIDIR no es necesario que el valor devuelto esté en la misma columna que la columna de búsqueda, al contrario que con BUSCARV, donde el valor devuelto tiene que estar en el rango especificado. ¿Por qué es importante esto? Con BUSCARV necesita conocer el número de columna que contiene el valor devuelto. Aunque parezca que esto no es importante, puede causar dificultades si tiene una tabla de gran tamaño y necesita contar el número de columnas. Además, para agregar o quitar un valor de una tabla, necesita volver a contar y actualizar el argumento indicador_columnas. Con ÍNDICE y COINCIDIR no es necesario contar, ya que la columna de búsqueda es distinta de la columna que contiene el valor devuelto.

  • Con ÍNDICE y COINCIDIR puede especificar una fila o columna de una matriz, o incluso especificar ambas. Esto quiere decir que puede buscar valores tanto vertical como horizontalmente.

  • Las funciones ÍNDICE y COINCIDIR se pueden usar para buscar valores en cualquier columna. Al contrario que con BUSCARV, que solo permite buscar un valor en la primera columna de una tabla, ÍNDICE y COINCIDIR funcionarán si el valor de búsqueda se encuentra en la primera columna, en la última o en cualquier posición entre medias.

  • ÍNDICE y COINCIDIR ofrecen la flexibilidad de crear una referencia dinámica a la columna que contiene el valor devuelto. Esto significa que, aunque agregue columnas a la tabla, ÍNDICE y COINCIDIR no producirán errores. En cambio, BUSCARV dejará de funcionar si agrega una columna a la tabla, ya que realiza una referencia estática a la tabla.

  • ÍNDICE y COINCIDIR ofrecen más flexibilidad con las coincidencias. ÍNDICE y COINCIDIR pueden encontrar una coincidencia exacta del valor de búsqueda, un valor superior o un valor inferior. BUSCARV solo buscará la coincidencia más próxima a un valor (de forma predeterminada) o un valor exacto. Además, de forma predeterminada, BUSCARV también da por hecho que la primera columna de la matriz de tabla está ordenada alfabéticamente y, si no es así, BUSCARV devolverá la primera coincidencia más próxima de la tabla, que es posible que no sean los datos que busca.

Sintaxis

Para crear una sintaxis de ÍNDICE y COINCIDIR necesita usar el argumento de la matriz o referencia de la función ÍNDICE y anidar la sintaxis de COINCIDIR dentro de este. Por lo tanto, sería algo parecido a esto:

=ÍNDICE(matriz o referencia; COINCIDIR(valor_buscado;matriz_buscada;[tipo_de_coincidencia])

Usaremos ÍNDICE y COINCIDIR para reemplazar a BUSCARV en el ejemplo anterior. La sintaxis sería similar a la siguiente:

=ÍNDICE(C2:C10;COINCIDIR(B13;B2:B10;0))

Lo que, traducido, significaría lo siguiente:

=ÍNDICE(quiero obtener el valor devuelto de C2:C10 usando COINCIDIR(con Claudia, que está en algún lugar de la matriz B2:B10, donde el valor devuelto es el primer valor que se corresponde con Claudia))

Las funciones ÍNDICE y COINCIDIR se pueden usar como reemplazo de BUSCARV

La fórmula busca el primer valor de C2:C10 que se corresponda con Claudia (en B7) y devuelve el valor de la celda C7 (100), que es el primer valor que coincide con Claudia.

Problema: No se encuentra una coincidencia exacta

Cuando el argumento búsqueda_en_rango es FALSO y BUSCARV no puede encontrar una coincidencia exacta en los datos, devuelve el error #N/A.

Solución: Si está seguro de que los datos relevantes existen en la hoja de cálculo y BUSCARV no los encuentra, asegúrese de que las celdas a las que hace referencia no tengan espacios ocultos ni caracteres no imprimibles. Además, asegúrese de que las celdas tengan el tipo de datos correcto. Por ejemplo, las celdas que contengan números tienen que tener formato de número, en lugar de formato de texto.

Use las funciones LIMPIAR o ESPACIOS para limpiar los datos de las celdas.

Problema: El valor de búsqueda es inferior al valor menor de la matriz

Si el argumento búsqueda_en_rango se establece en VERDADERO y el valor de búsqueda es inferior al valor menor de la matriz, verá el error #N/A. VERDADERO busca una coincidencia aproximada en la matriz y devuelve el valor más próximo inferior al valor de búsqueda.

En el ejemplo siguiente, el valor de búsqueda es 100, pero no hay ningún valor en el rango B2:C10 que sea inferior a 100 y, por lo tanto, se produce un error.

Error #N/A en BUSCARV cuando el valor de búsqueda es inferior al valor menor de la matriz

Solución:

  • Corrija el valor de búsqueda según sea necesario.

  • Si no puede cambiar el valor de búsqueda y necesita una mayor flexibilidad con los valores de coincidencia, puede usar ÍNDICE y COINCIDIR en lugar de BUSCARV. Con ÍNDICE y COINCIDIR puede buscar valores superiores al valor de búsqueda, inferiores o iguales. Para obtener más información sobre cómo usar ÍNDICE y COINCIDIR en lugar de BUSCARV, vea la sección anterior en este tema.

Problema: La columna de búsqueda no está ordenada por orden ascendente

Si el argumento búsqueda_en_rango se establece en VERDADERO y una de las columnas de búsqueda no está ordenada por orden ascendente (A-Z), verá el error #N/A.

Solución:

  • Cambie la función BUSCARV para que busque una coincidencia exacta. Para hacerlo, establezca el argumento búsqueda_en_rango en FALSO. Si se usa el valor FALSO, no es necesario ordenar la columna.

  • Use la función ÍNDICE y COINCIDIR para buscar un valor en una tabla sin ordenar.

Problema: El valor es un número con muchos puntos flotantes

Si tiene valores de hora o números con muchos números decimales en celdas, Excel devuelve el error #N/A debido a la precisión del punto flotante. Los números de punto flotante son los números que aparecen después de un separador decimal. (Tenga en cuenta que Excel almacena los valores de hora como números de punto flotante). Excel no puede almacenar números con muchos puntos flotantes, por lo que, para que la función funcione correctamente, los números de punto flotante tendrán que redondearse a 5 posiciones decimales.

Solución: Para acortar los números, puede redondearlos cinco posiciones decimales con la función REDONDEAR.

¿Tiene alguna pregunta sobre una función específica?

Publicar una pregunta en el foro de la comunidad de Excel

Ayudarnos a mejorar Excel

¿Tiene alguna sugerencia sobre cómo podemos mejorar la próxima versión de Excel? Si es así, vea los temas en el sitio de UserVoice de Excel.

Vea también

Corregir un error #N/A

BUSCARV: Evitar errores #N/A

BUSCARH, BUSCARV y BUSCAR devuelven valores incorrectos en Excel

La aritmética de coma flotante puede producir resultados imprecisos en Excel

Tarjeta de referencia rápida: Actualizador de BUSCARV

Función BUSCARV

Información general sobre las fórmulas en Excel

Evitar fórmulas erróneas

Usar la comprobación de errores para detectar errores en fórmulas

Todas las funciones de Excel (por orden alfabético)

Todas las funciones de Excel (por categoría)

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Únase a los participantes de Office Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×