INDICE con COINCIDIR: la búsqueda más potente de Excel

Por el equipo editorial de LogicExcelActualizado en junio de 20269 min de lectura1,730 palabras

Try this now

A two-way lookup finds a value where a row and a column meet. First find the row. Type =MATCH("Cherry", A2:A5, 0) in G5 to get Cherry's position in the product list.
ABCDEFG
1ProductQ1Q2Q3Q4Lookup
2Apple10203040Banana
3Banana15253545Q4
4Cherry12223242
5Date18283848
G5fx

Continue the full lesson →

INDICE con COINCIDIR es la combinación de búsqueda a la que recurren los profesionales de Excel cuando BUSCARV no llega. Puede mirar a la izquierda, a la derecha, arriba o abajo. No se rompe cuando insertas columnas. Resuelve búsquedas en dos dimensiones. En cuanto entiendas cómo encajan las dos funciones, la usarás constantemente.

¿Qué hace INDICE?

INDICE devuelve el valor de la celda que ocupa una fila y una columna concretas dentro de un rango. Sintaxis: =INDICE(matriz; núm_fila; [núm_columna])
  • matriz: el rango del que se extrae el valor
  • núm_fila: qué fila de ese rango
  • núm_columna: qué columna (opcional si la matriz es una sola columna)
Ejemplo: =INDICE(A1:A10; 3) devuelve el valor de la tercera fila de A1:A10, lo mismo que escribir =A3.

La potencia no está en INDICE por sí sola, sino en sustituir ese 3 fijo por algo dinámico.

¿Qué hace COINCIDIR?

COINCIDIR busca un valor dentro de un rango y devuelve su número de posición. Sintaxis: =COINCIDIR(valor_buscado; matriz_buscada; tipo_de_coincidencia)
  • valor_buscado: lo que estás buscando
  • matriz_buscada: una sola fila o columna donde buscar
  • tipo_de_coincidencia: usa 0 para coincidencia exacta (casi siempre es lo que quieres)
Ejemplo: =COINCIDIR("Plátano"; A1:A10; 0) devuelve 3 si "Plátano" está en la tercera celda de A1:A10.

Combinar INDICE y COINCIDIR

La magia aparece cuando anidas COINCIDIR dentro de INDICE para sustituir el número de fila fijo:

=INDICE(rango_de_retorno; COINCIDIR(valor_buscado; matriz_buscada; 0))
Ejemplo paso a paso:

Imagina que tienes una tabla de productos:

A (Producto)B (Precio)
Manzana1,20 $
Plátano0,50 $
Cereza3,00 $
Para consultar el precio de "Plátano":
=INDICE(B1:B3; COINCIDIR("Plátano"; A1:A3; 0))
  • COINCIDIR("Plátano"; A1:A3; 0) recorre A1:A3 y devuelve 2 (Plátano está en la fila 2).
  • INDICE(B1:B3; 2) devuelve el segundo valor de B1:B3, que es 0,50 $.
Equivale a =BUSCARV("Plátano"; A1:B3; 2; 0), pero a INDICE con COINCIDIR le da igual en qué columna esté el valor buscado.

Por qué INDICE con COINCIDIR gana a BUSCARV

1. Búsqueda hacia la izquierda

BUSCARV solo mira hacia la derecha: la columna de búsqueda tiene que ser la primera por la izquierda de la tabla. INDICE con COINCIDIR no tiene esa limitación: la columna de retorno puede estar a la izquierda, a la derecha o donde sea.

Ejemplo de búsqueda hacia la izquierda:
A (Precio)B (Producto)
1,20 $Manzana
0,50 $Plátano
3,00 $Cereza
Para averiguar qué producto cuesta 0,50 $:
=INDICE(B1:B3; COINCIDIR(0,5; A1:A3; 0))

BUSCARV no puede hacer esto. INDICE con COINCIDIR lo resuelve sin tocar la tabla.

2. Elección dinámica de la columna

Con BUSCARV escribes el número de columna a mano: =BUSCARV(valor; tabla; 3; 0). Si alguien inserta una columna en la tabla, la columna 3 se desplaza y la fórmula empieza a traer datos equivocados sin avisar.

Con INDICE y COINCIDIR referencias la columna de retorno por su dirección real. Insertar columnas no le afecta: la referencia del rango se actualiza sola.

3. El tamaño de la tabla pesa menos

BUSCARV recorre toda la matriz de tabla de izquierda a derecha. INDICE con COINCIDIR solo recorre la columna de búsqueda y después recupera una única celda. En conjuntos de datos muy grandes, la diferencia de velocidad se nota.

4. Más fácil de auditar

En =INDICE(B1:B3; COINCIDIR("Plátano"; A1:A3; 0)) se ve exactamente qué rango se está recorriendo (A1:A3) y de qué rango sale el resultado (B1:B3). En =BUSCARV("Plátano"; A1:C10; 2; 0), ese 2 es un número arbitrario: tienes que contar columnas para entenderlo.

Búsqueda de derecha a izquierda (la búsqueda a la izquierda clásica)

Un ejemplo completo con una disposición real. Tienes una tabla donde el ID del empleado está en la columna C y el nombre en la columna A:

A (Nombre)B (Departamento)C (ID)
SarahVentas1001
JamesInformática1002
MariaRR. HH.1003
Para consultar un nombre a partir del ID:
=INDICE(A2:A4; COINCIDIR(1002; C2:C4; 0))

Devuelve "James". BUSCARV no puede hacerlo sin reestructurar la tabla.

Coincidencia con dos criterios

Para buscar con dos condiciones se usa una fórmula matricial. Se combinan las dos condiciones de COINCIDIR con una multiplicación, que funciona como una Y lógica:

=INDICE(C2:C10; COINCIDIR(1; (A2:A10="Ventas")*(B2:B10="Gerente"); 0))
En Excel 2019 y versiones anteriores: pulsa Ctrl+Mayús+Intro en lugar de solo Intro para introducirla como fórmula matricial. Aparecerán llaves { } alrededor de la fórmula. En Excel 365/2021: basta con pulsar Intro; las matrices dinámicas se encargan del resto.

Esta fórmula localiza la primera fila donde la columna A es "Ventas" Y la columna B es "Gerente", y devuelve el valor correspondiente de la columna C.

Alternativa con COINCIDIR sobre valores concatenados:
=INDICE(C2:C10; COINCIDIR(buscado_A&buscado_B; A2:A10&B2:B10; 0))

En las versiones antiguas de Excel, introdúcela con Ctrl+Mayús+Intro. Concatena los dos criterios y busca dentro de una matriz también concatenada.

INDICE COINCIDIR COINCIDIR: búsqueda en dos dimensiones

INDICE admite un número de fila y otro de columna, así que puedes buscar de forma dinámica en las dos dimensiones.

Sintaxis:
=INDICE(tabla; COINCIDIR(valor_fila; encabezados_fila; 0); COINCIDIR(valor_columna; encabezados_columna; 0))
Ejemplo:
T1T2T3T4
Norte10012090110
Sur809510588
Este130115125140
Los datos de la tabla están en B2:E4, los encabezados de fila (las regiones) en A2:A4 y los de columna (los trimestres) en B1:E1.

Para consultar el valor del T3 en Sur:

=INDICE(B2:E4; COINCIDIR("Sur"; A2:A4; 0); COINCIDIR("T3"; B1:E1; 0))
  • COINCIDIR("Sur"; A2:A4; 0) devuelve 2
  • COINCIDIR("T3"; B1:E1; 0) devuelve 3
  • INDICE(B2:E4; 2; 3) devuelve el valor de la fila 2, columna 3 de la tabla: 105
Esto es imposible con BUSCARV o BUSCARH por sí solas.

INDICE con COINCIDIR frente a BUSCARX

Excel 365 introdujo BUSCARX, que resuelve la mayoría de los casos de INDICE con COINCIDIR con una sintaxis más simple:

=BUSCARX("Plátano"; A1:A3; B1:B3)

BUSCARX también busca hacia la izquierda, trabaja con matrices y admite coincidencia exacta o aproximada. Para las búsquedas en dos dimensiones sigues necesitando INDICE COINCIDIR COINCIDIR o una BUSCARX anidada. BUSCARX no está disponible en Excel 2019 ni en versiones anteriores.

BUSCARV frente a INDICE con COINCIDIR: tabla comparativa

CaracterísticaBUSCARVINDICE con COINCIDIR
Buscar hacia la izquierdaNo
Buscar hacia la derecha
Se rompe al insertar una columnaNo
Búsqueda en dos dimensionesNoSí (COINCIDIR COINCIDIR)
Sintaxis más sencillaAlgo más compleja
Disponible en todas las versiones de Excel
Velocidad en conjuntos grandesMás lentaMás rápida
Alternativa en Excel 365BUSCARXBUSCARX

Consejos y buenas prácticas

Fija tus rangos. Usa referencias absolutas en las fórmulas de INDICE con COINCIDIR para poder copiarlas hacia abajo por la columna: =INDICE($B$1:$B$100; COINCIDIR(D2; $A$1:$A$100; 0)). Usa siempre 0 para la coincidencia exacta. El tercer argumento de COINCIDIR controla el tipo de coincidencia. 0 es exacta, 1 es menor o igual (exige datos ordenados) y -1 es mayor o igual. Para casi todas las búsquedas, 0 es lo correcto. Gestiona los errores con SI.ERROR. Si no se encuentra el valor buscado, COINCIDIR devuelve el error #N/D. Envuelve la fórmula: =SI.ERROR(INDICE($B$1:$B$100; COINCIDIR(D2; $A$1:$A$100; 0)); "No encontrado"). Los rangos con nombre hacen legible la fórmula. Si llamas "Productos" a tu columna de búsqueda y "Precios" a la de retorno, la fórmula =INDICE(Precios; COINCIDIR(D2; Productos; 0)) se explica sola.

Preguntas frecuentes

¿Cuándo debo usar INDICE con COINCIDIR en lugar de BUSCARV?

Usa INDICE con COINCIDIR siempre que la columna de retorno esté a la izquierda de la de búsqueda, siempre que puedan insertarse columnas en la tabla más adelante, siempre que necesites una búsqueda en dos dimensiones y siempre que trabajes con conjuntos de datos grandes donde el rendimiento importe. Para búsquedas sencillas hacia la derecha en una tabla estable, BUSCARV va perfectamente.

¿Qué significa el 0 de COINCIDIR?

El tercer argumento de COINCIDIR es el tipo de coincidencia. 0 indica coincidencia exacta: COINCIDIR solo devuelve una posición si encuentra exactamente el valor buscado. 1 devuelve el mayor valor menor o igual que el buscado (exige orden ascendente). -1 devuelve el menor valor mayor o igual (exige orden descendente). Usa siempre 0 salvo que necesites expresamente una coincidencia aproximada sobre datos ordenados.

¿Por qué mi INDICE con COINCIDIR devuelve un valor equivocado?

La causa más habitual es un desajuste de rangos: la matriz de búsqueda y la de retorno tienen tamaños distintos o empiezan en filas distintas. Asegúrate de que en =INDICE(B2:B100; COINCIDIR(...; A2:A100; 0)) los dos rangos empiecen en la fila 2 y acaben en la 100. Si están desplazados aunque sea una fila, todos los resultados saldrán mal.

¿INDICE con COINCIDIR admite comodines?

Sí. Usa los comodines o ? en el valor buscado de COINCIDIR. Por ejemplo, =COINCIDIR("Plá"; A1:A10; 0) localiza la primera celda que empieza por "Plá". Ten en cuenta que los comodines solo funcionan con el tipo de coincidencia 0.

¿En qué se diferencia INDICE con COINCIDIR de BUSCARX?

BUSCARX (solo en Excel 365/2021) consigue lo mismo que INDICE con COINCIDIR con una sintaxis más simple en la mayoría de los casos. BUSCARX resuelve de forma nativa las búsquedas hacia la izquierda, las coincidencias aproximadas y varias columnas de retorno. INDICE COINCIDIR COINCIDIR sigue teniendo ventaja en las búsquedas reales en cuadrícula, donde tanto la fila como la columna son dinámicas. Además, INDICE con COINCIDIR funciona en todas las versiones de Excel, hasta Excel 2003.

¿Por qué me sale un error #¡VALOR!?

Un error #¡VALOR! en INDICE con COINCIDIR suele significar que la matriz de búsqueda de COINCIDIR no es una sola fila o columna: tiene que ser unidimensional. Comprueba que la matriz buscada (el segundo argumento de COINCIDIR) sea una referencia de una sola columna, como A1:A100, o de una sola fila, como A1:Z1, y no una tabla de varias columnas.

Sigue adelante

Te indica qué leer a continuación.