Imagina una hoja de tienda con el código a la izquierda (P-101, P-102, …) y el precio a la derecha. Si tecleas un código, quieres que Excel te devuelva su precio, su nombre o su categoría sin reorganizar la hoja. Eso hacen INDICE (en inglés INDEX) y COINCIDIR (en inglés MATCH) juntas: una encuentra la posición del código y la otra saca el valor de esa posición. Funcionan en todas las versiones de Excel desde 2007, también en Excel para la web y en Mac. Al terminar el artículo habrás montado tres fórmulas reales sobre una hoja de productos y sabrás por qué cada parte está donde está.
Qué resuelven INDICE y COINCIDIR (la idea en un minuto)
Tienes una hoja Productos con el código a la izquierda (columna Código) y el nombre, la categoría y el precio a la derecha. Quieres escribir un código en una celda y que Excel te devuelva la categoría, aunque la categoría esté a la derecha del código. BUSCARV (VLOOKUP) lo hace, pero solo busca hacia la derecha y pide que la columna de búsqueda sea la primera. COINCIDIR devuelve la posición del código dentro de una columna y INDICE devuelve el valor que está en esa posición de otra columna. Anidadas, la pareja hace lo mismo que BUSCARV, pero también busca hacia la izquierda y no depende del orden de las columnas: tú indicas qué columna devuelve el resultado y Excel lo encuentra.
La sintaxis de INDICE y la de COINCIDIR, argumento a argumento
INDICE y COINCIDIR son dos funciones independientes. =INDICE(matriz;núm_fila;[núm_columna]) devuelve el valor que está en la fila y, si hace falta, en la columna indicada de una matriz. =COINCIDIR(valor_buscado;matriz_buscada;[tipo_de_coincidencia]) devuelve la posición (no el valor) del dato buscado dentro de un rango. El tercer argumento de COINCIDIR admite tres valores:
| Valor | Significado | Orden del rango |
|---|---|---|
0 |
Coincidencia exacta | No importa el orden |
1 |
Coincidencia aproximada: el mayor valor que sea ≤ al buscado | Ascendente (obligatorio) |
-1 |
Coincidencia aproximada: el menor valor que sea ≥ al buscado | Descendente (obligatorio) |
INDICE devuelve un valor por su posición
Sobre la columna A2:A6 con los códigos P-101, P-102, P-205, P-310 y P-412, =INDICE(A:A;3) devuelve P-205: es el tercer valor de la columna A. Si quieres sacar el valor que está en la fila 3 y la columna 2 de un bloque A1:C10, escribes =INDICE(A1:C10;3;2) y obtienes B3.
COINCIDIR devuelve la posición, no el valor
Sobre la misma columna A2:A6, =COINCIDIR("P-310";A2:A6;0) devuelve 4, porque P-310 es el cuarto elemento del rango. La función no devuelve "P-310", devuelve el número de posición. Ese 4 es el que luego se le pasa a INDICE para que sepa qué fila sacar.
La fórmula combinada: anidar COINCIDIR dentro de INDICE
La fórmula que une las dos funciones es siempre la misma forma: INDICE envuelve el resultado y COINCIDIR calcula la fila. Con la hoja Productos y el código en F2, en G2 escribes:
=INDICE(C2:C6;COINCIDIR(F2;A2:A6;0))
COINCIDIR busca F2 dentro de A2:A6 y devuelve la posición (por ejemplo 3 si F2 es "P-205"); INDICE toma esa posición dentro de C2:C6 y devuelve la categoría que está en esa fila. La categoría que busco está en la columna C; el código está en la columna A. La fórmula devuelve directamente la categoría.
- En A1 escribe Código; en B1 Nombre; en C1 Categoría; en D1 Precio.
- Rellena las filas 2 a 6 con los cinco productos del ejemplo.
- En F1 escribe Código buscado y en F2 teclea, por ejemplo, P-205.
- En G2 escribe
=INDICE(C2:C6;COINCIDIR(F2;A2:A6;0))y pulsa Entrar.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Codigo | Nombre | Categoria | Precio | Codigo buscado | Categoria | |
| 2 | P-101 | Leche | Lacteos | 1,10 | P-205 | Aceite | |
| 3 | P-102 | Pan | Panaderia | 0,80 | |||
| 4 | P-205 | Aceite | Cocina | 2,40 | |||
| 5 | P-310 | Arroz | Despensa | 1,30 | |||
| 6 | P-412 | Fruta | Frescos | 1,90 |
#N/A, mira la sección de errores más abajo.Las dos reglas que no puedes saltarte
El rango que mira COINCIDIR y el rango del que INDICE saca el resultado tienen que empezar en la misma fila y medir lo mismo. Si COINCIDIR busca en A2:A6, INDICE tiene que devolver de C2:C6 (las mismas filas), no de C2:C5 ni de C1:C6. Y el tercer argumento de COINCIDIR siempre es 0 cuando quieres coincidencia exacta; con 1 o -1 trabaja con aproximaciones y exige el rango ordenado.
- Cambia C2:C6 por C2:C5 en la fórmula de G2 y observa que la fórmula se rompe.
- Restituye C2:C6 y la fórmula vuelve a funcionar.
El $ que protege la tabla al copiar la fórmula
Si arrastras la fórmula de G2 hacia abajo con el controlador de relleno, los rangos A2:A6 y C2:C6 se desplazarán y la fórmula dejará de tener sentido. Conviértelos en referencias absolutas con F4 (Windows) o Cmd+T (Mac); F2 se queda sin dólares porque ahí va el valor que cambia cada vez. La fórmula queda así:
=INDICE($C$2:$C$6;COINCIDIR(F2;$A$2:$A$6;0))
- Selecciona G2 y entra en la barra de fórmulas.
- Coloca el cursor dentro de
A2:A6, pulsa F4 y observa cómo aparece$A$2:$A$6. - Repite dentro de
C2:C6para que quede$C$2:$C$6. - Deja F2 tal cual y pulsa Entrar.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Codigo | Nombre | Categoria | Precio | Codigo buscado | Categoria | |
| 2 | P-101 | Leche | Lacteos | 1,10 | P-205 | Aceite | |
| 3 | P-102 | Pan | Panaderia | 0,80 | |||
| 4 | P-205 | Aceite | Cocina | 2,40 | |||
| 5 | P-310 | Arroz | Despensa | 1,30 | |||
| 6 | P-412 | Fruta | Frescos | 1,90 |
Buscar hacia la izquierda, donde BUSCARV no llega
BUSCARV solo trae valores de columnas que están a la derecha de la columna de búsqueda. Con INDICE y COINCIDIR da igual la dirección: tú eliges qué columna devuelve el resultado. Sobre la misma hoja Productos, escribes el nombre en F2 y quieres el código. La fórmula es:
=INDICE(A2:A6;COINCIDIR(F2;B2:B6;0))
COINCIDIR busca el nombre dentro de B2:B6 y devuelve la posición; INDICE toma esa posición dentro de A2:A6 y devuelve el código. Para sacar el precio desde el nombre:
=INDICE(D2:D6;COINCIDIR(F2;B2:B6;0))
- Cambia el rótulo de F1 a Nombre buscado y en F2 escribe Arroz.
- En G3 escribe
=INDICE(A2:A6;COINCIDIR(F2;B2:B6;0)). - En G4 escribe
=INDICE(D2:D6;COINCIDIR(F2;B2:B6;0)).
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Codigo | Nombre | Categoria | Precio | Nombre buscado | Codigo / Precio | |
| 2 | P-101 | Leche | Lacteos | 1,10 | Arroz | P-310 | |
| 3 | P-102 | Pan | Panaderia | 0,80 | 1,30 | ||
| 4 | P-205 | Aceite | Cocina | 2,40 | |||
| 5 | P-310 | Arroz | Despensa | 1,30 | |||
| 6 | P-412 | Fruta | Frescos | 1,90 |
Búsqueda en dos direcciones: fila y columna a la vez
La misma pareja sirve para tablas con filas y columnas, donde quieres cruzar dos variables. Sobre una hoja Ventas con regiones en A2:A5 (Norte, Sur, Este, Oeste), meses en B1:D1 (Ene, Feb, Mar) e importes en B2:D5, una sola fórmula te devuelve las ventas de la región y el mes que pidas:
=INDICE(B2:D5;COINCIDIR(F2;A2:A5;0);COINCIDIR(G1;B1:D1;0))
El primer COINCIDIR calcula la fila (la región) y el segundo calcula la columna (el mes). INDICE cruza ambos en la matriz B2:D5.
- En la hoja Ventas, escribe la región en F2 y el mes en G1.
- En G2 escribe la fórmula de arriba y pulsa Entrar.
- Cambia F2 a Sur y G1 a Mar; observa cómo cambia el resultado.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Ene | Feb | Mar | Region | Mes / Ventas | ||
| 2 | Norte | 120 | 135 | 150 | Sur | Mar | |
| 3 | Sur | 95 | 180 | 210 | 210 | ||
| 4 | Este | 140 | 160 | 175 | |||
| 5 | Oeste | 110 | 125 | 140 |
Por qué INDICE y COINCIDIR muestran #N/A y cómo arreglarlo
El error #N/A (en inglés #N/A, "No disponible") aparece cuando la función de búsqueda no encuentra el valor. Tres causas reales y muy comunes: el código no está en la columna de búsqueda; el dato tiene un espacio de más (al principio o al final, invisible a simple vista); o el número está guardado como texto en uno de los dos lados de la comparación. Para no mostrar el error en la hoja, envuelve la fórmula con SI.ND (en inglés IFNA):
=SI.ND(INDICE($C$2:$C$6;COINCIDIR(F2;$A$2:$A$6;0));"No existe")
Si F2 está vacío o tiene un código que no aparece en A2:A6, en G2 verás "No existe" en vez de #N/A. SI.ND está disponible desde Excel 2013.
El #N/A también sale si los rangos no miden igual
Otro motivo menos visible: COINCIDIR busca en A2:A6 (5 filas) e INDICE saca de C2:C5 (4 filas). Aunque las dos apunten a Productos, las alturas no coinciden y INDICE recibe un número de fila que queda fuera del rango, devolviendo #N/A. La regla de oro: el rango de COINCIDIR y el rango de INDICE tienen que empezar en la misma fila y tener la misma altura. Se arregla igualando ambos, por ejemplo los dos en $A$2:$A$6 y $C$2:$C$6.
INDICE con un solo rango (una columna o una fila) solo necesita el argumento de fila; el de columna es opcional y se omite.Lo que INDICE y COINCIDIR no hacen (y qué usar en su lugar)
INDICE y COINCIDIR existen desde Excel 2007, así que cualquier Excel de los últimos años las trae. No son matrices dinámicas: si añades filas a la tabla con formato de tabla de Excel, las fórmulas con rangos fijos como $A$2:$A$6 no crecen solas; tendrás que convertirlas en referencias estructuradas (Tabla1[Codigo]) o redimensionar los $. En Excel 2021 y Microsoft 365 la función BUSCARX (XLOOKUP) hace lo mismo en una sola fórmula y admite valores predeterminados sin necesidad de SI.ND. La diferencia importante: BUSCARX no existe en Excel 2019 ni en Excel 2013, así que si tu libro se abre en esas versiones la pareja INDICE + COINCIDIR sigue siendo la opción correcta.
| Función | Desde qué versión | Ventaja frente a la anterior |
|---|---|---|
INDICE + COINCIDIR |
Excel 2007 | Funciona en todas las versiones y busca en cualquier dirección |
BUSCARX (XLOOKUP) |
Excel 2021 y Microsoft 365 | Una sola función, valor predeterminado, búsqueda binaria opcional |
COINCIDIRX (XMATCH) |
Excel 2021 y Microsoft 365 | Como COINCIDIR pero con coincidencia exacta por defecto y búsqueda inversa |
Lo que ya sabes hacer con INDICE y COINCIDIR
- Conoces la sintaxis de
INDICEcon uno y dos rangos, y la deCOINCIDIRcon sus tres tipos de coincidencia. - Sabes anidar
COINCIDIRdentro deINDICEy aplicar los$con F4/Cmd+T para arrastrar la fórmula sin romperla. - Resuelves la limitación clásica de
BUSCARV: buscar hacia la izquierda cuando el dato está en una columna anterior. - Cruzas fila y columna a la vez con dos
COINCIDIRdentro de un soloINDICEsobre tablas tipo matriz. - Sustituyes el
#N/Apor un texto legible conSI.NDy detectas cuando los rangos no miden igual.
Si tienes Excel 2021 o Microsoft 365, el siguiente lógico es probar la misma hoja Productos con BUSCARX para ver la diferencia: una sola función en vez de dos anidadas.
Datos comprobados en octubre de 2026.
Fuentes
- MicrosoftFunción COINCIDIR | Microsoft Supportconsultado el 13/10/2026
- MicrosoftINDICE — documentación oficialconsultado el 13/10/2026
- MicrosoftCOINCIDIRX — documentación oficialconsultado el 13/10/2026
- MicrosoftPegar, Opciones de pegado y Pegado especial — documentación oficialconsultado el 13/10/2026
- Microsoft#N/A — documentación oficialconsultado el 13/10/2026