Lección 6 de 37Funciones de Búsqueda

INDEX/MATCH: El combo más potente

La combinación más versátil para búsquedas complejas.

15 minutos

Antes de XLOOKUP, INDEX/MATCH era la solución definitiva para superar las limitaciones de BUSCARV. Hoy sigue siendo relevante por su compatibilidad universal, flexibilidad extrema y mejor rendimiento en archivos grandes.

Por qué aprender INDEX/MATCH

  1. Compatibilidad total: Funciona en TODAS las versiones de Excel
  2. Flexibilidad máxima: Búsquedas en cualquier dirección
  3. Mejor rendimiento: Más eficiente que BUSCARV en tablas grandes
  4. Múltiples criterios: Se combina naturalmente con condiciones
  5. Búsquedas bidimensionales: Filas y columnas dinámicas

Entendiendo INDEX

La función INDEX devuelve el valor de una celda en la intersección de una fila y columna específicas.

Sintaxis de INDEX

=INDEX(rango, num_fila, [num_columna])
Argumento Descripción
rango El rango de celdas
num_fila Número de fila dentro del rango
num_columna Número de columna (opcional si es una sola columna)

Ejemplos de INDEX

Tabla de productos (A1:C5):

Producto Categoría Precio
Laptop Electrónicos $1,200
Mouse Accesorios $35
Monitor Electrónicos $450
Teclado Accesorios $85
// Devolver el valor de la fila 2, columna 1
=INDEX(A2:C5, 2, 1)
// Resultado: "Mouse"

// Devolver el valor de la fila 3, columna 3
=INDEX(A2:C5, 3, 3)
// Resultado: $450

// Con una sola columna, no necesitas el tercer argumento
=INDEX(A2:A5, 2)
// Resultado: "Mouse"

Entendiendo MATCH (COINCIDIR)

MATCH busca un valor en un rango y devuelve su posición (no el valor).

Sintaxis de MATCH

=COINCIDIR(valor_buscado, rango_busqueda, [tipo_coincidencia])
Argumento Descripción
valor_buscado Lo que buscas
rango_busqueda Dónde buscar (una fila o columna)
tipo_coincidencia 0 = exacta, 1 = menor o igual, -1 = mayor o igual

Ejemplos de MATCH

// ¿En qué posición está "Monitor"?
=COINCIDIR("Monitor", A2:A5, 0)
// Resultado: 3 (tercera posición en el rango)

// ¿En qué posición está "Electrónicos"?
=COINCIDIR("Electrónicos", B2:B5, 0)
// Resultado: 1 (primera ocurrencia)

Importante: MATCH devuelve la posición relativa dentro del rango, no el número de fila de la hoja.

El combo INDEX/MATCH

La magia ocurre al combinarlas: MATCH encuentra la posición, INDEX devuelve el valor.

Fórmula básica

=INDEX(rango_resultados, COINCIDIR(valor_buscado, rango_busqueda, 0))

Ejemplo paso a paso

Objetivo: Buscar el precio del "Monitor"

=INDEX(C2:C5, COINCIDIR("Monitor", A2:A5, 0))

Desglose:

  1. COINCIDIR("Monitor", A2:A5, 0) → Devuelve 3 (Monitor está en la posición 3)
  2. INDEX(C2:C5, 3) → Devuelve $450 (el valor en la posición 3 de precios)

Resultado: $450

INDEX/MATCH vs BUSCARV

Comparación lado a lado

Característica BUSCARV INDEX/MATCH
Buscar a la izquierda No
Insertar columnas Rompe fórmula No afecta
Rendimiento Más lento Más rápido
Legibilidad inicial Más simple Más complejo
Flexibilidad Limitada Máxima

Ejemplo: Buscar hacia la izquierda

Tabla con ID a la derecha:

Nombre Categoría ID
Laptop Electrónicos P001
Mouse Accesorios P002
Monitor Electrónicos P003
// Con BUSCARV: IMPOSIBLE
// (el ID está a la derecha del Nombre)

// Con INDEX/MATCH: Sin problema
=INDEX(A2:A4, COINCIDIR("P002", C2:C4, 0))
// Resultado: "Mouse"

Búsquedas bidireccionales (Two-Way Lookup)

INDEX/MATCH permite búsquedas en dos dimensiones: encontrar un valor basándose en la fila Y la columna.

Escenario: Tabla de ventas por región y trimestre

Región Q1 Q2 Q3 Q4
Norte 150 180 200 220
Sur 120 140 160 175
Este 200 220 250 280
Oeste 100 110 130 145

Objetivo: Obtener las ventas de "Sur" en "Q3"

=INDEX(B2:E5, COINCIDIR("Sur", A2:A5, 0), COINCIDIR("Q3", B1:E1, 0))

Desglose:

  1. COINCIDIR("Sur", A2:A5, 0) → 2 (fila 2)
  2. COINCIDIR("Q3", B1:E1, 0) → 3 (columna 3)
  3. INDEX(B2:E5, 2, 3) → 160

Resultado: 160

Fórmula dinámica con referencias

=INDEX($B$2:$E$5, COINCIDIR(G2, $A$2:$A$5, 0), COINCIDIR(H2, $B$1:$E$1, 0))

Donde G2 contiene la región y H2 contiene el trimestre.

Múltiples criterios con INDEX/MATCH

Para búsquedas con múltiples condiciones, combina INDEX/MATCH con fórmulas de array.

Escenario: Ventas por producto Y vendedor

Producto Vendedor Monto
Laptop Ana $1,200
Mouse Carlos $35
Laptop Carlos $1,150
Monitor Ana $450

Objetivo: Encontrar el monto de "Laptop" vendido por "Carlos"

=INDEX(C2:C5, COINCIDIR(1, (A2:A5="Laptop")*(B2:B5="Carlos"), 0))

Nota: En Excel clásico, esta fórmula debe ingresarse como fórmula de array con Ctrl+Shift+Enter. En Excel 365, funciona directamente.

Desglose:

  1. (A2:A5="Laptop") → {VERDADERO; FALSO; VERDADERO; FALSO}
  2. (B2:B5="Carlos") → {FALSO; VERDADERO; VERDADERO; FALSO}
  3. Multiplicación → {0; 0; 1; 0} (solo la fila 3 cumple ambas condiciones)
  4. COINCIDIR(1, ..., 0) → 3
  5. INDEX(C2:C5, 3) → $1,150

Casos de uso avanzados

Caso 1: Última coincidencia en una lista

=INDEX(B2:B100, COINCIDIR(9.99E+307, SI(A2:A100="Laptop", FILA(A2:A100)), 0) - FILA(A1))

O más simple con BUSCAR:

=BUSCAR(2, 1/(A2:A100="Laptop"), B2:B100)

Caso 2: Valor más cercano (sin ser exacto)

Para encontrar el valor más cercano en una lista no ordenada:

=INDEX(A2:A100, COINCIDIR(MIN(ABS(B2:B100-G2)), ABS(B2:B100-G2), 0))

Caso 3: Búsqueda insensible a mayúsculas

=INDEX(B2:B100, COINCIDIR(MAYUSC(F2), MAYUSC(A2:A100), 0))

Caso 4: Retornar múltiples columnas

// En G2 (primera columna de resultado)
=INDEX(B2:B100, COINCIDIR(F2, A2:A100, 0))

// En H2 (segunda columna de resultado)
=INDEX(C2:C100, COINCIDIR(F2, A2:A100, 0))

O con un solo MATCH reutilizado:

// Definir nombre "PosicionEncontrada" = COINCIDIR(F2, A2:A100, 0)
// Luego usar:
=INDEX(B2:B100, PosicionEncontrada)
=INDEX(C2:C100, PosicionEncontrada)

Rendimiento: INDEX/MATCH vs BUSCARV

En tablas grandes, INDEX/MATCH es significativamente más rápido:

Filas en tabla BUSCARV INDEX/MATCH
10,000 ~0.3s ~0.1s
100,000 ~2.5s ~0.5s
1,000,000 ~25s ~3s

Por qué INDEX/MATCH es más rápido:

  • BUSCARV evalúa todo el rango de columnas
  • MATCH solo evalúa la columna de búsqueda
  • INDEX es una operación directa de memoria

Variantes y alternativas

MATCH con diferentes tipos de coincidencia

Tipo Descripción Requiere orden
0 Exacta No
1 Menor o igual Ascendente
-1 Mayor o igual Descendente
// Coincidencia exacta (la más común)
=COINCIDIR("Laptop", A2:A100, 0)

// Encontrar el rango de precio (tabla ordenada)
=COINCIDIR(150, PreciosMinimos, 1)

INDEX con rangos no contiguos

=INDEX((A2:A10, C2:C10), 3, 2)

Devuelve el valor de la fila 3 del segundo rango (C2:C10).

Errores comunes y soluciones

Error #N/A

Causa: MATCH no encontró el valor.

// Solución: Envolver en SI.ERROR
=SI.ERROR(INDEX(B2:B100, COINCIDIR(F2, A2:A100, 0)), "No encontrado")

Error #REF!

Causa: La posición devuelta por MATCH excede el rango de INDEX.

// Problema: rangos de diferente tamaño
=INDEX(B2:B10, COINCIDIR(F2, A2:A100, 0))

// Solución: Asegurar mismo tamaño
=INDEX(B2:B100, COINCIDIR(F2, A2:A100, 0))

Error #VALUE! en fórmulas de array

Causa: No se ingresó como fórmula de array.

Solución: Presiona Ctrl+Shift+Enter en lugar de solo Enter (Excel clásico).

Tabla de referencia rápida

Tarea Fórmula
Búsqueda básica =INDEX(B:B, COINCIDIR(A2, C:C, 0))
Buscar a la izquierda =INDEX(A:A, COINCIDIR(D2, C:C, 0))
Búsqueda 2D =INDEX(B2:E5, COINCIDIR(G2, A2:A5, 0), COINCIDIR(H2, B1:E1, 0))
Múltiples criterios =INDEX(C:C, COINCIDIR(1, (A:A=F2)*(B:B=G2), 0))
Con manejo error =SI.ERROR(INDEX(B:B, COINCIDIR(A2, C:C, 0)), "")
Última coincidencia =BUSCAR(2, 1/(A:A=F2), B:B)

Práctica: Ejercicios de INDEX/MATCH

  1. Básico: Escribe una fórmula INDEX/MATCH para buscar el precio de un producto por su nombre.

  2. Bidireccional: Crea una fórmula que busque ventas por región (fila) y mes (columna).

  3. Hacia la izquierda: El ID está en columna C, el nombre en columna A. Busca el nombre por ID.

  4. Múltiples criterios: Encuentra el monto de venta para un producto específico de un vendedor específico.

  5. Comparación: Convierte esta fórmula BUSCARV a INDEX/MATCH:

    =BUSCARV(A2, $D$2:$G$100, 3, FALSO)
    

Puntos clave de esta lección

  • INDEX devuelve un valor basándose en posición de fila y columna
  • MATCH devuelve la posición de un valor en un rango
  • Juntos permiten búsquedas en cualquier dirección
  • Son más rápidos que BUSCARV en tablas grandes
  • Permiten búsquedas bidimensionales (fila y columna dinámicas)
  • Se pueden combinar con condiciones para múltiples criterios
  • Funcionan en todas las versiones de Excel

Próxima lección

En la siguiente lección aprenderás a realizar búsquedas con múltiples criterios usando SUMIFS, COUNTIFS y combinaciones avanzadas de INDEX/MATCH para resolver problemas de análisis de datos complejos.


Quiz de comprensión

  1. ¿Qué devuelve la función MATCH: un valor o una posición?

  2. ¿Por qué INDEX/MATCH es más rápido que BUSCARV en tablas grandes?

  3. Escribe una fórmula INDEX/MATCH que busque hacia la izquierda (el valor de búsqueda está en columna D, el resultado en columna A).

  4. ¿Cómo harías una búsqueda bidimensional para encontrar un valor en la intersección de una fila y columna específicas?

  5. ¿Qué modificación necesita una fórmula INDEX/MATCH con múltiples criterios en versiones antiguas de Excel?

¿Completaste esta lección?

Marca esta lección como completada. Tu progreso se guardará en tu navegador.