Guía de tecnologías

Búsquedas bidireccionales en Excel con INDEX y XMATCH

9 min read Excel tutorial Actualizado 23 Sep 2025
Búsquedas bidireccionales en Excel con INDEX y XMATCH
Búsquedas bidireccionales en Excel con INDEX y XMATCH

  • INDEX y XMATCH combinados permiten buscar un valor en la intersección de una fila y una columna sin modificar la fórmula.
  • XMATCH devuelve posiciones (fila o columna); INDEX devuelve el valor en esa posición.
  • Ideal para hojas con parámetros dinámicos; enfrenta errores cuando formatos no coinciden o los encabezados están almacenados como texto.

Enlaces rápidos

  • Cómo funcionan las funciones INDEX y XMATCH en Excel

  • Uso de INDEX con XMATCH para búsquedas unidireccionales

  • Uso de INDEX con XMATCH para búsquedas bidireccionales

Para muchos, la combinación INDEX-XMATCH en Excel es el método preferido para recuperar un valor de un conjunto de datos. Además de búsquedas unidireccionales, este dúo dinámico permite realizar búsquedas bidireccionales, devolviendo el valor en la intersección de una fila y una columna especificadas.

Este artículo está pensado para lectores de todos los niveles de experiencia con Excel y va aumentando la complejidad. Si no conoces INDEX y XMATCH, sigue leyendo. Si ya sabes usar INDEX y XMATCH para búsquedas unidireccionales, ve directamente a la sección Uso de INDEX con XMATCH para búsquedas bidireccionales.

Portátil mostrando la aplicación Microsoft Excel.

Cómo funcionan INDEX y XMATCH en Excel

Antes de ver cómo usar estas dos funciones juntas en una sola fórmula, revisemos cómo actúan por separado.

La función INDEX

La función INDEX devuelve un valor dentro de un rango según el número de fila y columna que especifiques. Sintaxis:

=INDEX(a,b,c)

donde

  • a es el rango,
  • b es el número de fila, y
  • c es el número de columna.

Por ejemplo, escribir:

=INDEX(T_Profit,3,6)

en la celda H2 devuelve el valor que se encuentra en la intersección de la tercera fila y la sexta columna de la tabla T_Profit.

Uso de INDEX para devolver el valor en la tercera fila y sexta columna de una tabla.

En lugar de fijar los números de fila y columna, puedes referenciar celdas que los contengan, lo que hace la fórmula más flexible. Por ejemplo:

=INDEX(T_Profit,I2,I3)

en la celda I5 toma el número de fila de I2 y el número de columna de I3.

INDEX usando referencias de celda para fila y columna.

La función XMATCH

XMATCH busca un elemento dentro de un rango y devuelve su posición relativa en ese rango.

Nota sobre disponibilidad: XMATCH requiere Excel 2021 o posterior en escritorio, o Excel para la web y las apps móviles.

Iconos de Microsoft 365 y suscripción disponibles en plataformas Microsoft.

Sintaxis:

=XMATCH(a,b,c,d)

donde

  • a es el elemento a buscar,
  • b es el rango donde buscar,
  • c es el tipo de coincidencia (0 = coincidencia exacta por defecto; -1 = exacta o siguiente menor; 1 = exacta o siguiente mayor; 2 = coincidencia con comodines), y
  • d es el modo de búsqueda (1 = primero a último por defecto, -1 = último a primero, 2 = búsqueda binaria cuando b está en orden ascendente, -2 = búsqueda binaria cuando b está en orden descendente).

XMATCH es la versión moderna de MATCH; sus valores predeterminados favorecen la coincidencia exacta y permiten búsqueda en ambas direcciones y comodines.

Ejemplo:

=XMATCH(1927,T_Profit[Employee])

en H2 devuelve 3 si el ID 1927 es el tercer elemento en la columna Employee de la tabla T_Profit.

XMATCH usado para devolver la posición de un valor en una columna de tabla.

Argumentos c y d no se requieren si buscas coincidencia exacta de arriba a abajo, que son los valores por defecto.

También puedes usar una referencia de celda como valor a buscar:

=XMATCH(I2,T_Profit[Employee])

donde I2 contiene el ID del empleado.

XMATCH usado con referencia de celda para el valor de búsqueda.

Uso de INDEX con XMATCH para búsquedas unidireccionales

La potencia real aparece cuando se combinan. Primero comprende el caso unidimensional.

Supongamos que quieres ver el beneficio total generado por un empleado cuando escribes su ID en la celda I2.

Tabla de Excel con empleados y sus beneficios, y área de búsqueda a la derecha.

En la celda I5 escribe:

=INDEX(T_Profit,XMATCH(I2,T_Profit[Employee]),6)

donde

  • T_Profit es la tabla donde buscar el valor,
  • XMATCH(I2,T_Profit[Employee]) indica a INDEX la fila que corresponde al valor en I2, y
  • 6 es la columna desde la cual devolver el valor.

En lugar de escribir referencias estructuradas manualmente, haz clic en el encabezado de columna para seleccionar la columna completa y evitar errores.

INDEX y XMATCH combinados para devolver el beneficio total de un empleado.

Este ejemplo no requiere los argumentos de coincidencia o modo de búsqueda en XMATCH porque se usan sus valores por defecto.

Uso de INDEX con XMATCH para búsquedas bidireccionales

La ventaja clave de INDEX+XMATCH para búsquedas bidireccionales es que puedes cambiar los parámetros (fila y columna) sin editar la fórmula. XMATCH identifica tanto la fila como la columna para INDEX.

Supongamos que quieres saber cuánto beneficio produjo el empleado 1191 en 2021.

Tabla de Excel con búsquedas bidireccionales a la derecha.

En I4 escribe:

=INDEX(T_Profit,XMATCH(I2,T_Profit[Employee]),XMATCH(I3,T_Profit[#Headers]))

donde

  • XMATCH(I2,T_Profit[Employee]) devuelve la fila correspondiente al empleado,
  • XMATCH(I3,T_Profit[#Headers]) devuelve la columna correspondiente al año u otro encabezado.

Error habitual: #N/A por formato

Si los encabezados de columna parecen números (por ejemplo años) pero Excel los almacena como texto, puedes obtener #N/A. Para resolverlo:

  1. Selecciona la celda con el valor de búsqueda de columna (por ejemplo I3).
  2. Ve a la pestaña Inicio y en el desplegable de formato de número selecciona Texto.
  3. Activa la edición de la celda con F2 y confirma con Enter para actualizar el formato.

Menú de formato de número en la pestaña Inicio con Texto seleccionado.

Ahora ambos, el valor de búsqueda y los encabezados, comparten formato y la fórmula devuelve el resultado esperado.

Búsqueda bidireccional que devuelve el beneficio de 2021 de un empleado.

Prueba con distintos valores en I2 e I3 para ver cómo la fórmula actualiza la salida dinámicamente.

Búsqueda bidireccional que devuelve el beneficio de 2020 de un empleado.


Mejora: listas desplegables con validación de datos

Puedes usar Validación de datos para crear menús desplegables en las celdas de búsqueda y evitar entradas inválidas. Nota: no es posible seleccionar directamente encabezados de tabla como origen de la lista desde la interfaz de Validación de datos. Alternativas:

  • Introducir referencias de celda directas en el campo Origen de la ventana de Validación de datos.
  • Nombrar rangos (pestaña Fórmulas > Definir nombre) y usar esos nombres como Origen.

Referencias de celdas usadas directamente en el campo Origen de Validación de datos.

Buenas prácticas y heurísticas mentales

  • Preferir XMATCH sobre MATCH para nuevas hojas por flexibilidad con modo de búsqueda y comodines.
  • Mantener la tabla como tabla estructurada (Insertar > Tabla) para referencias más claras: T_MiTabla[Columna].
  • Evitar hardcodear números de columna: usar XMATCH o encabezados nombrados.
  • Asegurar formatos coherentes entre el valor de búsqueda y la matriz de búsqueda (texto vs número).

Cuándo falla esta técnica y contraejemplos

  • Encabezados con formatos mixtos (texto y número) causan no coincidencias.
  • Búsquedas que necesitan coincidencias aproximadas por rangos continuos pueden requerir lógica adicional o argumentos de XMATCH distintos.
  • Tablas con encabezados duplicados provocan ambigüedad en la columna devuelta.
  • Si la matriz contiene errores (#N/A, #DIV/0!), INDEX devolverá el error correspondiente.

Enfoques alternativos

  • XLOOKUP anidado: usar XLOOKUP para buscar fila y columna y luego INDEX, o usar XLOOKUP con MATCH según el caso.
  • BUSCARV/BUSCARH (VLOOKUP/HLOOKUP) son heredados y menos flexibles; mejor evitarlos en modelos nuevos.
  • FILTER para escenarios donde quieras devolver un conjunto de filas/columnas filtradas en lugar de un único valor.
  • Tablas dinámicas (PivotTable) si la necesidad es exploratoria o agregada.

Mini metodología paso a paso para implementar búsquedas bidireccionales

  1. Convertir el rango en Tabla (Ctrl+T) y asignar un nombre claro.
  2. Determinar las celdas donde el usuario introducirá fila y columna de búsqueda (por ejemplo I2 y I3).
  3. Verificar que los encabezados de columna tienen el formato coherente con el valor de búsqueda.
  4. Escribir la fórmula INDEX con dos XMATCH anidados:
=INDEX(NombreTabla,XMATCH(CeldaFila,NombreTabla[ColumnaClave]),XMATCH(CeldaColumna,NombreTabla[#Headers]))
  1. Probar con valores existentes y no existentes para validar comportamiento y gestionar errores con IFERROR si es necesario.
  2. Implementar Validación de datos en las celdas de entrada para evitar valores inválidos.

Playbook rápido para implementaciones en hojas compartidas

  • Precondiciones: la tabla está limpia, sin encabezados duplicados y con datos consistentes.
  • Paso 1: crear área de búsqueda visible y etiquetada.
  • Paso 2: crear las listas desplegables o nombrar rangos.
  • Paso 3: insertar la fórmula INDEX+XMATCH.
  • Paso 4: envolver la fórmula con IFERROR para mensajes amigables, por ejemplo:
=IFERROR(INDEX(T_Profit,XMATCH(I2,T_Profit[Employee]),XMATCH(I3,T_Profit[#Headers])),"No encontrado")
  • Paso 5: documentar la hoja con comentarios de celda o una nota superior que explique el uso.

Checklist por rol

  • Analista:

    • Validar que los encabezados no estén duplicados.
    • Verificar formatos de número/texto.
    • Probar con valores límite y casos inexistentes.
  • Responsable de datos:

    • Mantener la tabla actualizada y normalizada.
    • Evitar mezclas de formato en columnas clave.
  • Usuario final:

    • Usar las listas desplegables cuando existan.
    • Reportar cualquier #N/A con un ejemplo reproducible.

Plantilla de fórmulas y atajos (chuleta)

  • Búsqueda unidireccional:
=INDEX(T_MiTabla,XMATCH(CeldaID,T_MiTabla[ID]),ColumnaNumero)
  • Búsqueda bidireccional:
=INDEX(T_MiTabla,XMATCH(CeldaID,T_MiTabla[ID]),XMATCH(CeldaEncabezado,T_MiTabla[#Headers]))
  • Con manejo de errores:
=IFERROR(INDEX(T_MiTabla,XMATCH(CeldaID,T_MiTabla[ID]),XMATCH(CeldaEncabezado,T_MiTabla[#Headers])),"Valor no encontrado")
  • Atajos útiles:
    • Ctrl+T: convertir en tabla.
    • Ctrl+F3: Administrador de nombres.
    • F2: editar celda activa.

Casos de prueba y criterios de aceptación

  • Caso 1: ID existente y encabezado existente → devuelve valor correcto.
  • Caso 2: ID inexistente → devuelve #N/A o mensaje de IFERROR.
  • Caso 3: Encabezado con formato numérico pero almacenado como texto → inicialmente #N/A; tras corregir formato, devuelve valor.
  • Caso 4: Encabezados duplicados → comportamiento indefinido; aceptar rechazo del diseño de tabla.

Criterios de aceptación: fórmulas estables, mensajes amigables para errores, documentación mínima en la hoja.

Diagrama de decisión para elegir método (Mermaid)

flowchart TD
  A[Necesitas un solo valor en intersección?] -->|Sí| B[¿Tienes Excel moderno con XMATCH?|]
  B -->|Sí| C[Usar INDEX + XMATCH]
  B -->|No| D[Usar INDEX + MATCH o XLOOKUP si disponible]
  A -->|No, necesito resumenes| E[Usar tabla dinámica o FILTER]
  C --> F[Agregar validación de datos y manejo de errores]
  D --> F
  E --> G[Preparar datos: limpiar y normalizar]

Cajita de datos clave

  • Requisito de XMATCH: Excel 2021 o Microsoft 365 para escritorio, o Excel para web/móvil.
  • Ventaja principal: fórmulas no dependen de posicionamiento fijo de columnas.
  • Riesgo más común: formatos inconsistentes entre encabezados y valores de búsqueda.

Notas de seguridad y privacidad

  • Evita compartir hojas con datos personales sin anonimizar.
  • Si la hoja contiene datos sensibles, controla permisos de acceso en OneDrive o SharePoint y evita enviar copias por correo sin cifrar.

Glosario rápido (1 línea cada término)

  • INDEX: devuelve el valor en una posición de fila y columna dentro de un rango.
  • XMATCH: devuelve la posición relativa de un valor en un rango.
  • Tabla estructurada: rango convertido en Tabla con nombres de columna y referencias estructuradas.

Resumen final

INDEX y XMATCH forman una combinación potente para búsquedas dinámicas en Excel. Usadas correctamente, permiten buscar valores por fila y columna sin reescribir fórmulas cada vez. Asegúrate de normalizar formatos, manejar errores con IFERROR y mejorar la experiencia del usuario con listas desplegables y documentación en la hoja.

Importante

  • Si los encabezados parecen numéricos pero Excel los trata como texto, cambiar el formato a Texto y reingresar la celda suele resolver el problema.

Notas

  • XMATCH es preferible a MATCH en implementaciones nuevas por su flexibilidad.
Autor
Edición

Materiales similares

Archivo de paginación en Windows: tamaño y ubicación
Windows

Archivo de paginación en Windows: tamaño y ubicación

Recuperar correos eliminados en Mac: 7 métodos rápidos
Recuperación

Recuperar correos eliminados en Mac: 7 métodos rápidos

Cifrar disco en Xubuntu con dm-crypt y LUKS
Seguridad

Cifrar disco en Xubuntu con dm-crypt y LUKS

Ver y eliminar historial de búsqueda en YouTube
Privacidad

Ver y eliminar historial de búsqueda en YouTube

Búsquedas bidireccionales en Excel con INDEX y XMATCH
Excel tutorial

Búsquedas bidireccionales en Excel con INDEX y XMATCH

Eliminar historial de búsqueda de YouTube
Privacidad

Eliminar historial de búsqueda de YouTube