En este tema se describen las razones más comunes por las que BUSCARV produce un resultado erróneo en la función y se proporcionan sugerencias para usar ÍNDICE y COINCIDIR en su lugar.
Sugerencia: Además, consulte las sugerencias de solución de problemas de Tarjeta de referencia rápida: BUSCARV que presentan las razones comunes para problemas de #NA en un práctico archivo PDF. 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 limitación 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 Col rizada.
El error #N/A se produce porque el valor de búsqueda "Col rizada", aparece en la segunda columna (Produce) del argumento de table_array A2:C10. En este caso, Excel lo busca 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 esto no es posible, intente cambiar la posición de las columnas. Esta opción puede resultar poco práctica 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. Consulte la sección siguiente.
Considere la posibilidad de usar ÍNDICE/COINCIDIR en su lugar
ÍNDICE y COINCIDIR son buenas opciones para muchos casos en los que BUSCARV no satisface 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. ÍNDICE devuelve el valor de una tabla o rango especificado, según su posición. 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 combinar Í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, el valor devuelto no tiene necesariamente que estar en la misma columna que la columna de búsqueda. Esto es diferente de BUSCARV, ya que el valor devuelto debe estar en el intervalo 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, sí puede causar dificultades si tiene una tabla de gran tamaño y necesita contar el número de columnas. Además, si agrega o quita la columna de una tabla, tendrá que volver a contar y actualizar el argumento núm_índice_col. 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 entre ellas.
-
ÍNDICE y COINCIDIR ofrecen la flexibilidad de crear una referencia dinámica a la columna que contiene el valor devuelto. Esto significa que puede seguir agregando columnas a la tabla sin afectar a la fórmula de ÍNDICE y COINCIDIR. 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. Este es el formato:
=Í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(devuelve un valor de C2:C10 que usará COINCIDIR("Col rizada", que está en algún lugar de la matriz B2:B10, donde el valor devuelto es el primer valor que se corresponde con "Col rizada"))
La fórmula busca el primer valor de C2:C10 que se corresponda con Col rizada (en B7) y devuelve el valor de la celda C7 (100), que es el primer valor que coincide con Col rizada.
Problema: No se encuentra una coincidencia exacta
Cuando el argumento búsqueda_en_rango sea FALSO y BUSCARV no pueda encontrar una coincidencia exacta en los datos, devolverá 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.
Además, plantéese usar 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.
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. Para ello, vea la sección superior 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 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. Con 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. (Excel almacena los valores de hora como números de punto flotante). Excel no puede almacenar números de punto flotante de gran tamaño, por lo que, para que la función funcione correctamente, los números de punto flotante tendrán que redondearse a cinco posiciones decimales.
Solución: Para acortar los números, puede redondearlos cinco posiciones decimales con la función REDONDEAR.
¿Necesitas más ayuda?
Siempre puede preguntar a un experto en la Excel Tech Community u obtener soporte técnico en Comunidades.