Ir al contenido principal

Cómo usar XLOOKUP() con varios criterios en Excel

Domina la potente función XLOOKUP() de Excel con concatenación y expresiones booleanas para buscar datos con múltiples condiciones
Actualizado 13 may 2026  · 9 min leer

XLOOKUP() en Excel es la función más reciente del grupo de funciones de búsqueda (LOOKUP(), VLOOKUP(), HLOOKUP() y XLOOKUP()) y ofrece muchas ventajas, más funcionalidades y mayor flexibilidad.

En este tutorial, primero veremos para qué sirve la función XLOOKUP() de Excel y por qué mejora a las funciones de búsqueda anteriores; después, revisaremos su sintaxis básica y, por último, iremos al grano: cómo usar XLOOKUP() con varios criterios.

Si necesitas aprender los fundamentos de Excel, el curso para principiantes Introduction to Excel es el lugar ideal para empezar.

Por qué usar XLOOKUP() en Excel

La función XLOOKUP() busca en un rango o matriz de datos y devuelve el elemento correspondiente a la primera coincidencia. Si no encuentra coincidencias, XLOOKUP() puede devolver una coincidencia aproximada si se indica un tipo de coincidencia específico. En muchos aspectos, XLOOKUP() supera a sus predecesoras en Excel (VLOOKUP(), HLOOKUP() y LOOKUP()).

En concreto, permite:

  • buscar datos tanto en horizontal como en vertical, y en cualquier dirección
  • usar varios criterios de búsqueda
  • devolver una coincidencia aproximada, con coincidencia exacta por defecto
  • hacer coincidencias parciales
  • devolver varias columnas y filas
  • mostrar un texto personalizado cuando no hay coincidencias.

Además, XLOOKUP() rinde mejor que las funciones de búsqueda antiguas de Excel, algo clave cuando buscamos en grandes volúmenes de datos.

Cómo usar XLOOKUP() con una condición

Veamos brevemente la sintaxis básica de XLOOKUP():

=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode]) 

donde los parámetros obligatorios son:

  • lookup_value—el valor que quieres buscar

  • lookup_array—la matriz o rango donde buscar

  • return_array—la matriz o rango desde donde devolver el resultado

y los parámetros opcionales son:

  • [if_not_found]—el texto a devolver cuando no haya coincidencias

  • [match_mode]—el tipo de coincidencia (exacta o aproximada) y qué devolver si no se encuentra coincidencia.

  • [search_mode]—el modo de búsqueda (directa o inversa, búsqueda binaria en la matriz de búsqueda ordenada ascendente o descendente).

Más adelante veremos ejemplos con los parámetros opcionales.

Si quieres aprender o repasar otras funciones y fórmulas útiles de Excel, echa un vistazo al tutorial The 15 Basic Excel Formulas Everyone Needs to Know y a la Excel Formulas Cheat Sheet.

Cómo usar XLOOKUP() con varios criterios

Como vemos en su sintaxis básica, XLOOKUP() está pensada por defecto para trabajar con un único valor de búsqueda de una variable.

Sin embargo, podemos adaptarla para usarla sobre varias variables a la vez, buscando un valor distinto en cada variable. Es decir, podemos realizar búsquedas con XLOOKUP() aplicando varios criterios. Para hacerlo, hay dos enfoques principales: concatenación y expresiones booleanas. Veremos ambos enseguida.

Antes de entrar en lo técnico, veamos la tabla de Excel con la que trabajaremos. Recoge información sobre 10 gatos: sus nombres, colores y edades:

Una tabla con información de 10 gatos: nombres, colores y edades.

En nuestros ejemplos, usaremos XLOOKUP() para encontrar una de las tres características de un gato usando las otras dos.

Que la tabla sea simple está bien: podríamos localizar cada dato a simple vista. Aquí lo importante es entender los principios de usar XLOOKUP() con varios criterios. Una vez los domines, podrás aplicarlos a escenarios reales más complejos, por ejemplo, con más de dos criterios o requisitos específicos.

XLOOKUP() con varios criterios usando concatenación

El enfoque de concatenación es muy directo: hay que concatenar entre sí los valores de búsqueda y las matrices correspondientes. Veamos cómo funciona.

Supón que queremos encontrar la edad de una gata blanca y gris llamada Nala. Para mayor comodidad, añadimos estos dos criterios en la misma hoja donde está la tabla:

Búsqueda de la edad de una gata blanca y gris llamada Nala usando concatenación.

En este caso, la fórmula de XLOOKUP() sería:

=XLOOKUP(G2&G3, B2:B11&C2:C11, D2:D11)

Devolverá 2.5, la edad de la primera Nala blanca y gris (mi gata 😺). Recuerda: XLOOKUP() devuelve el elemento correspondiente a la primera coincidencia.

Para entender qué representan los dos primeros componentes de la fórmula—los que llevan el ampersand—podemos ejecutar cada uno en una celda aparte de Excel:

=B2:B11&C2:C11

El resultado es NalaWhite y Grey.

=B2:B11&C2:C11

El resultado es:

Resultado de concatenar las columnas de nombres y colores de los gatos.

Sí, así de sencillo: hemos concatenado los valores de búsqueda y las matrices de búsqueda entre sí, siguiendo la sintaxis básica de XLOOKUP() que vimos antes.

XLOOKUP() con varios criterios usando expresiones booleanas

Ahora resolvamos la misma tarea—encontrar la edad de una Nala blanca y gris—con el segundo enfoque: expresiones booleanas. La fórmula de XLOOKUP() sería:

=XLOOKUP(1, (B2:B11=G2)*(C2:C11=G3), D2:D11)

Como era de esperar, también devolverá 2.5, la edad de la primera Nala blanca y gris.

Veamos los componentes. Aquí, 1 significa TRUE; es decir, buscamos el valor TRUE en la matriz de búsqueda que representa el segundo componente de la fórmula—(B2:B11=G2)*(C2:C11=G3).

Este componente contiene dos multiplicandos, cada uno comprobando una condición: el primero verifica si el nombre coincide con el que buscamos y el segundo, si el color coincide. Ejecutemos cada multiplicando en una celda aparte:

=B2:B11=G2

El resultado es:

Matriz booleana que muestra qué gatos se llaman Nala.

=C2:C11=G3

El resultado es:

Matriz booleana que muestra qué gatos son blancos y grises.

Ahora ejecutemos todo el segundo componente:

=(B2:B11=G2)*(C2:C11=G3)

El resultado es:

Matriz booleana que muestra qué gatos se llaman Nala y son blancos y grises.

Aunque vemos dos valores 1 en el resultado (dos TRUE), XLOOKUP() devuelve el elemento correspondiente a la primera coincidencia.

El enfoque con expresiones booleanas para usar XLOOKUP() con varios criterios parece más complejo y menos intuitivo que la concatenación. Y sería aún peor con más de dos criterios. ¿Por qué no usar siempre concatenación entonces?

Porque las expresiones booleanas nos dan mucha más flexibilidad al usar XLOOKUP() con varios criterios. Veamos sus ventajas frente a la concatenación.

Comprobar el valor FALSE

En la fórmula anterior comprobábamos si la expresión booleana era TRUE, pasando el valor 1:

=XLOOKUP(1, (B2:B11=G2)*(C2:C11=G3), D2:D11)

En algunos casos, podemos necesitar comprobar si la expresión es FALSE. Por ejemplo, queremos la edad del primer gato que no sea una Nala blanca y gris. Debemos modificar así:

=XLOOKUP(0, (B2:B11=G2)*(C2:C11=G3), D2:D11)

El resultado será 1, la edad del primer gato que no es una Nala blanca y gris (en concreto, es una Nala tricolor, pero no blanca y gris).

Usar operadores lógicos

Con expresiones booleanas no estamos limitados a comprobar igualdad. Por ejemplo, queremos encontrar el color de una Nala con menos de 2 años:

Búsqueda del color de una gata llamada Nala menor de 2 años usando operadores lógicos.

La fórmula de XLOOKUP() sería:

=XLOOKUP(1, (B2:B11=G2)*(D2:D11<G3), C2:C11)

El resultado será Tricolor.

Cumplir al menos un criterio

Hasta ahora comprobábamos que se cumplieran todos los criterios. En otros casos, podemos necesitar cumplir al menos uno.

Para verlo, volvamos a la tarea inicial—encontrar la edad de una Nala blanca y gris:

Búsqueda de la edad de un gato llamado Nala o de color blanco y gris usando lógica OR.

Esta vez, queremos la edad de un gato que sea o bien Nala o bien blanco y gris. La fórmula sería:

=XLOOKUP(1, (B2:B11=G2)+(C2:C11=G3), D2:D11)

Devuelve 1, la edad de una Nala tricolor.

Recuerda que, cuando buscábamos la edad de un gato que fuera Nala y además blanco y gris, la fórmula era:

=XLOOKUP(1, (B2:B11=G2)*(C2:C11=G3), D2:D11)

Cambiar * por + marca la diferencia.

Si quieres exprimir Excel al máximo, plantéate el itinerario de habilidades Excel Fundamentals, completo, práctico y bien estructurado.

Parámetros opcionales de XLOOKUP() con varios criterios

Igual que en el uso con un único criterio, podemos aprovechar las opciones adicionales de XLOOKUP() al trabajar con varios criterios. Aquí entran en juego los parámetros opcionales [if_not_found], [match_mode] y [search_mode].

Veamos rápidamente ejemplos de cada uno con XLOOKUP() y varios criterios. Para simplificar, usaremos el enfoque de concatenación en todos.

Devolver un texto personalizado cuando no hay coincidencias

Aquí buscamos la edad de una Nala negra—un caso inexistente en nuestra tabla:

Búsqueda de la edad de una Nala negra inexistente en la tabla devolviendo un texto personalizado.

En este caso, añadimos a la fórmula el parámetro opcional [if_not_found] con el texto a devolver si no hay coincidencias:

=XLOOKUP(G2&G3, B2:B11&C2:C11, D2:D11, "No cat is found")

Efectivamente, la función devolvió el texto indicado: No cat is found. Si no indicáramos texto, devolvería #N/A.

Devolver una coincidencia aproximada

Imagina que buscamos la edad de una Nala tricolor, pero no estamos seguros de si en la tabla figura como "Tricolor" o "Tricolour". Aquí necesitamos una coincidencia aproximada con comodines y pasar a XLOOKUP() el argumento [match_mode] igual a 2.

Búsqueda de la edad de una Nala tricolor usando coincidencia aproximada con comodines.

En la tabla usamos un asterisco (*), que representa cualquier número de caracteres, incluido 0. Puedes consultar otros comodines en la documentación de Microsoft Office.

La fórmula de XLOOKUP() sería:

=XLOOKUP(G2&G3, B2:B11&C2:C11, D2:D11, , 2)

Y devolverá 1, la edad de la primera (y única) Nala tricolor de la tabla.

Ten en cuenta que el argumento 2 indica que buscamos una coincidencia aproximada, no la edad de una Nala de color "Tricolo*r". En nuestro caso, el asterisco ha capturado la palabra "Tricolor", pero haría lo mismo con "Tricolour" o, por ejemplo, "Tricolooor".

Realizar una búsqueda inversa

Hagamos el mismo ejercicio del principio—buscar la edad de una Nala blanca y gris—, pero esta vez empezando por el último elemento.

Búsqueda de la edad de una Nala blanca y gris usando búsqueda inversa.

Para ello, añadimos a XLOOKUP() el parámetro opcional [search_mode] con valor -1, así:

=XLOOKUP(G2&G3, B2:B11&C2:C11, D2:D11, , , -1)

La función devuelve 7, la edad de la primera Nala blanca y gris desde el final de la matriz de búsqueda.

XLOOKUP() vs. INDEX() y MATCH()

En versiones antiguas de Excel, para reproducir algo similar a XLOOKUP() con varios criterios había que combinar INDEX() y MATCH(). Sin entrar en la sintaxis de ambas, veamos cómo encontrar la edad de la primera Nala blanca y gris con el método antiguo INDEX() + MATCH() y con la nueva XLOOKUP() (para las referencias de celda, consulta la tabla anterior):

=INDEX(D2:D11, MATCH(1, (G2=B2:B11)*(G3=C2:C11), 0))
=XLOOKUP(1, (B2:B11=G2)*(C2:C11=G3), D2:D11)

Aunque los argumentos se parecen, estas son las principales ventajas de usar XLOOKUP() frente al método antiguo:

  • Basta con una sola función: no hace falta combinarlas.

  • Posibilidad de aplicar el enfoque de concatenación cuando convenga.

  • Disponibilidad de parámetros opcionales (a MATCH() le faltan).

Avanza en tu carrera con Excel

Adquiere los conocimientos necesarios para sacar el máximo partido a Excel, sin necesidad de experiencia.

Empieza hoy gratis

Conclusión

En este tutorial hemos explorado la sintaxis de XLOOKUP() en Excel, sus ventajas frente a sus equivalentes más antiguos y cómo usar XLOOKUP() con varios criterios.

En concreto, hemos visto las dos formas principales de búsqueda, cuándo conviene aplicar cada una y cómo el enfoque con expresiones booleanas aporta mucha más flexibilidad. Además, aprendiste a ampliar la funcionalidad de XLOOKUP() con varios criterios usando los parámetros opcionales y a realizar una búsqueda similar a XLOOKUP() en versiones antiguas de Excel.

Si te estás preparando para una entrevista sobre Excel, revisa la guía Top 25 Excel Interview Questions For All Levels, con las preguntas técnicas más habituales para niveles principiante, intermedio y avanzado.


Elena Kosourova's photo
Author
Elena Kosourova
LinkedIn

Científico de Datos Certificado por IBM (2020), anteriormente Geólogo Petrolero/Geomodelador de yacimientos de petróleo y gas en todo el mundo con más de 12 años de experiencia laboral internacional. Dominio de Python, R y SQL. Áreas de especialización: limpieza de datos, manipulación de datos, visualización de datos, análisis de datos, modelado de datos, estadística, narración de historias, aprendizaje automático. Amplia experiencia en la gestión de comunidades de ciencia de datos y en la redacción/revisión de artículos y tutoriales sobre ciencia de datos y temas profesionales.

FAQs

¿Cuál es la diferencia entre XLOOKUP() y VLOOKUP()?

XLOOKUP() es más versátil que VLOOKUP(). Puede buscar en horizontal y en vertical, no exige que la columna de búsqueda esté a la izquierda, admite varios criterios, permite búsquedas inversas y rinde mejor con conjuntos de datos grandes. VLOOKUP() solo busca en vertical y requiere que los datos estén en un orden concreto.

¿Puede XLOOKUP() manejar más de dos criterios?

Sí, XLOOKUP() puede manejar más de dos criterios. Con concatenación, añade más ampersands: =XLOOKUP(A1&B1&C1, D:D&E:E&F:F, G:G). Con expresiones booleanas, multiplica condiciones adicionales: =XLOOKUP(1, (D:D=A1)*(E:E=B1)*(F:F=C1), G:G).

¿Qué método es mejor para varios criterios: concatenación o expresiones booleanas?

La concatenación es más sencilla e intuitiva para coincidencias exactas sin complicaciones. Las expresiones booleanas ofrecen más flexibilidad cuando necesitas operadores lógicos (>, <, >=, <=), comprobar valores FALSE o aplicar lógica "OR" en lugar de "AND". Elige según tus necesidades.

¿Por qué mi fórmula de XLOOKUP() devuelve #N/A?

El error #N/A indica que no se encontró ninguna coincidencia. Para gestionarlo mejor, usa el parámetro [if_not_found]: =XLOOKUP(lookup_value, lookup_array, return_array, "Not Found"). Así verás tu mensaje personalizado en lugar del error.

Temas

¡Sigue mejorando tus hojas de cálculo hoy!

Curso

Análisis de datos en Excel

3 h
140.7K
Aprende a analizar datos con Tablas dinámicas y funciones lógicas intermedias antes de pasar a herramientas como el análisis hipotético y la previsión.
Ver detallesRight Arrow
Iniciar curso
Ver másRight Arrow
Relacionado

Tutorial

Cómo hacer un VLOOKUP() con múltiples criterios

Domina el arte de utilizar VLOOKUP() con criterios múltiples en Excel. Explora técnicas avanzadas como las columnas de ayuda y la función ELEGIR().
Laiba Siddiqui's photo

Laiba Siddiqui

Tutorial

Cómo combinar VLOOKUP() con IF() en Excel

Combina VLOOKUP() con IF() para un análisis eficaz de los datos, incluyendo búsquedas condicionales, gestión de errores e indexación dinámica de columnas.
Laiba Siddiqui's photo

Laiba Siddiqui

Tutorial

XLOOKUP() frente a VLOOKUP(): una comparación para usuarios de Excel

XLOOKUP() busca en cualquier dirección, usa de forma predeterminada coincidencias exactas y tiene gestión de errores integrada, mientras que VLOOKUP() solo busca a la derecha y necesita una indexación manual de las columnas.
Laiba Siddiqui's photo

Laiba Siddiqui

Tutorial

Formato condicional en Excel: Guía para principiantes

Explora el formato condicional en Excel con ejemplos de sencillos a avanzados y sus mejores prácticas.
Joleen Bothma's photo

Joleen Bothma

Tutorial

Las 15 fórmulas básicas de Excel que todo el mundo debe conocer

Aprende a añadir fórmulas aritméticas, de cadena, de series temporales y complejas en Microsoft Excel.
Abid Ali Awan's photo

Abid Ali Awan

Tutorial

Tipos de datos en Excel y sus usos: Guía completa

Aprende a identificar y dar formato a todos los tipos de datos en Excel, y luego explora valiosos consejos sobre la conversión entre tipos de datos para que tu hoja de cálculo sea más funcional.
Laiba Siddiqui's photo

Laiba Siddiqui

Ver másVer más