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

En este tema se describen las razones más comunes de BUSCARV para obtener un resultado erróneo en la función y se proporcionan sugerencias para usar Indice y coincidir .

Sugerencia: Además, consulte la tarjeta de referencia rápida: sugerencias para la solución de problemas de BUSCARV, que presenta los motivos comunes de los problemas de #NA en un archivo PDF práctico. 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 restricciones de BUSCARV es que solo se pueden buscar valores en la columna situada más a la izquierda de la matriz de la tabla. 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 #N/A se produce porque el valor de búsqueda "Claudia" aparece en la segunda columna (producir) del argumento Table_array a2: C10. En este caso, Excel lo está buscando en la columna A, no en la columna B.

Solución: para intentar solucionar esto, ajuste BUSCARV para que haga referencia a la columna correcta. Si no es posible, intente mover las columnas. Eso también puede ser muy impracticable, si tiene hojas de cálculo grandes o complejas en las que los valores de celda son resultados de otros cálculos, o bien puede que haya otros motivos lógicos por los que simplemente no puede mover 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. Consulte la sección siguiente.

Considerar el uso de Indice/COINCIDIr en su lugar

Las opciones de Índice y coincidencia son buenas para muchos casos en los que BUSCARV no se ajusta a sus necesidades. La principal ventaja de Indice y COINCIDIr es que puede buscar un valor en una columna de cualquier ubicación de la tabla de búsqueda. INDICE devuelve un valor de una tabla o rango especificado, según su posición. COINCIDIr devuelve la posición relativa de un valor en una tabla o rango. Use Indice y COINCIDIr juntos en una fórmula para buscar un valor en una tabla o matriz especificando la posición relativa del valor en la tabla o matriz.

Hay varias ventajas de usar Indice/COINCIDIr en lugar de BUSCARV:

  • Con Indice y COINCIDIr, el valor devuelto no tiene que estar en la misma columna que la columna de búsqueda. Esto es diferente de BUSCARV, en el que el valor devuelto tiene que estar en el intervalo especificado. ¿Por qué es importante esto? Con BUSCARV necesita conocer el número de columna que contiene el valor devuelto. Si bien esto no parece desafiante, puede resultar engorroso si tiene una tabla grande y tiene que contar el número de columnas. Además, si agrega o quita una columna de la tabla, tendrá que recontar y actualizar el col_index_num argumento. 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 Indice y COINCIDIr, puede especificar una fila o una columna en una matriz, o bien 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. A diferencia de la función BUSCARV, que permite buscar solo un valor de la primera columna de una tabla, el índice y la coincidencia funcionarán si el valor de búsqueda está en la primera columna, en la última o en cualquier parte de.

  • Índice y coincidencia ofrece la flexibilidad de hacer referencia dinámica a la columna que contiene el valor devuelto. Esto significa que puede Agregar columnas a la tabla sin romper el índice y hacer coincidir las coincidencias. Por otra parte, BUSCARV se rompe si necesita agregar una columna a la tabla, ya que realiza una referencia estática a la tabla.

  • Índice y coincidencia ofrece más flexibilidad con las coincidencias. Índice y coincidencia puede buscar una coincidencia exacta o un valor mayor o menor que el valor de búsqueda. 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 generar la sintaxis de índice/coincidencia, debe usar el argumento de matriz o referencia de la función INDICE y anidar la sintaxis de coincidencia dentro de ella. Esto tiene el siguiente formato:

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

Vamos a usar Indice/COINCIDIr para reemplazar BUSCARV del 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:

= Indice (devuelve un valor de C2: C10, que coincidirá con (Claudia, que se encuentra en la matriz B2: B10, en la que el valor devuelto es el primer valor correspondiente a 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 range_lookup argumento 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 lo detecta, dedique un tiempo para comprobar que las celdas a las que se hace referencia no tienen espacios ocultos ni caracteres no imprimibles. Además, asegúrese de que las celdas siguen el tipo de datos correcto. Por ejemplo, las celdas con números deben tener formato de númeroy no texto.

Además, considere la posibilidad de usar la función limpiar o recortar para limpiar los datos de las celdas.

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

Si el range_lookup argumento se establece en true y el valor de búsqueda es menor que el 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 mayor flexibilidad con valores coincidentes, considere la posibilidad de usar Indice o COINCIDIr en lugar de BUSCARV, consulte la sección anterior en este artículo. 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 range_lookup se establece en true y una de las columnas de búsqueda no está ordenada en 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. No es necesario ordenar por falso.

  • 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. (Excel almacena valores de tiempo como números de coma flotante). Excel no puede almacenar números con puntos flotantes muy grandes, de modo que, para que la función funcione correctamente, los números de punto flotante deberán 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?

Publique 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

¿Necesita más ayuda?

Ampliar sus conocimientos de Office
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.

×