INDICE + COINCIDIR para buscar en Excel
Si buscas una fórmula para hacer búsquedas hacia la izquierda y no quieres liarte utilizando BUSCARV (con la que también podrías hacerlo), te invito a leer este artículo.
Con las funciones INDICE y COINCIDIR es posible realizar búsquedas de una manera más flexible que con BUSCARV. Te voy a mostrar el uso de cada una de ellas por separado y luego las combinaré para crear búsquedas.
Cómo funciona INDICE
Esta función devuelve el valor que se encuentra en la intersección de una fila y una columna. INDICE tiene dos sintaxis: matricial y de referencia. La sintaxis matricial, que es la que nos interesa para hacer una búsqueda es: =INDICE(matriz; núm_fila; [núm_columna]) Te pongo un ejemplo, imagina que tienes la siguiente tabla: En el rango B2:F8 puedo utilizar la función INDICE para obtener el precio por centena de las tuercas M-16, con la siguiente fórmula: =INDICE(B2:F8;4;3) El resultado de la fórmula anterior es 13,30 €, ya que devuelve el valor de la fila 4 y la columna 3 de la matriz. INDICE funciona de manera muy similar a DESREF. De hecho, puede que te sientas más cómo utilizando esta función en vez de INDICE.Cómo funciona COINCIDIR
COINCIDIR se utiliza para encontrar la posición de un valor en una lista. Esta lista puede ser de una columna o una fila. La sintaxis de COINCIDIR es: =COINCIDIR(valor_buscado,matriz_de_busqueda;[tipo_de_coincidencia]) Observa el argumento tipo_de_coincidencia. Se encarga de puntualizar el valor que devolverá la función COINCIDIR. Se trata de un argumento opcional que si dejas en blanco, Excel utilizará el valor por defecto, 1. Significa que devolverá el valor más alto que sea menor o igual que el valor de búsqueda. Los valores en la matriz de búsqueda deben estar ordenados de forma ascendente cuando utilices 1 u omitas el argumento. Cuando utilices 0 en este argumento, la función buscará el valor que sea exactamente igual que el valor de búsqueda y la matriz puede estar en cualquier orden. Y si usas -1, la función devuelve el número más bajo que sea mayor o igual que el valor de búsqueda. La matriz debe estar ordenada de forma descendente. Utilizando los datos del ejemplo anterior, si quiero hallar la posición de “Tuerca M-18” dentro de la columna de los productos, tendré que utilizar la siguiente fórmula: =COINCIDIR(“Tuerca M-18”;B3:B8;0)Cómo utilizar INDICE + COINCIDIR
Estas dos funciones son la mejor alternativa a utilizar BUSCARV. Si lo prefieres, puedes seguir utilizando esta función, pero te advierto que con INDICE + COINCIDIR podrás hacer algunas cosas que con BUSCARV te resultará imposible. Te lo cuento un poco más abajo. Utilizando los datos de ejemplo de más arriba, voy a tratar de encontrar con INDICE + COINCIDIR, los precios de la Tuerca M-18. =INDICE(rango de la tabla; reemplaza esto por la función COINCIDIR para encontrar el número de fila de Tuerca M-18; reemplaza esto por la función COINCIDIR para encontrar el número de columna del precio por unidad) La fórmula quedaría así: =INDICE($B$3:$F$8;COINCIDIR($C$12;$B$3:$B$8;0);COINCIDIR($B13;$B$2:$F$2;0))¿Por qué INDICE + COINCIDIR es mejor que BUSCARV?
Aunque yo siempre he estado del lado de BUSCARV, tengo que reconocer que esta forma de hacer búsquedas es bastante más eficiente.- Con BUSCARV es complicado hacer búsquedas hacia la izquierda.
- Con INDICE + COINCIDIR puedes hacer búsquedas en tablas de doble entrada.
Cómo mejorar la fórmula INDICE + COINCIDIR
Para asegurarte de que has creado una fórmula robusta a prueba de errores, te recomiendo que sigas estos tres pasos:- Utiliza nombres de rangos en vez de referencias para hacer la fórmula más intuitiva y fácil de comprender.
- Otra forma de hacer más comprensible la fórmula es convertir los rangos en tablas. De esta forma se hará referencia a los nombres de tabla en vez de al rango. Es muy similar al anterior.
- Si la hoja no contiene más datos que la tabla de búsqueda te recomiendo que utilices referencias de columnas y filas completas. La fórmula tardará un poco más en calcular pero se entenderá perfectamente.
Gracias
Bon dia Sergio,
Desde que descrubri esta opción no he vuelto a utilizar buscarV.
Es posible utilizar Indice+Coincidir para buscar en mas de una hoja del mismo libro.
En la formula =INDICE($B$3:$F$8;COINCIDIR($C$12;$B$3:$B$8;0);COINCIDIR($B13;$B$2:$F$2;0))
….Menciona C12 y B13 que valore contienen…gracias
Hola Jaime.
Al descargar el archivo podrás ver que contienen los criterios de búsqueda.
Un genio. Me solucionaste la vida!!
Infinitas gracias, me acabas de salvar de un parcial de la U
excelente.