Menu

Buscar con varios criterios en Excel: BUSCARX y BUSCARV

=BUSCARX(1;(A2:A7=E2)*(B2:B7=F2);C2:C7) devuelve el valor de la fila en la que la columna A coincide con E2 y la columna B con F2. La versión con INDICE y COINCIDIR, una columna auxiliar para BUSCARV y FILTRAR para todas las coincidencias.

Todas las hojas de esta página están vivas: cambia un número o una fórmula y se recalculan.

=BUSCARX(1;(A2:A7=E2)*(B2:B7=F2);C2:C7) devuelve el precio de la fila en la que el producto es E2 y el tamaño es F2. Cada comparación revisa todas las filas, multiplicarlas da 1 solo donde las dos se cumplen, y BUSCARX busca ese 1. Necesita Excel 2021 o Microsoft 365; la versión con INDICE y COINCIDIR de más abajo funciona en cualquier versión. BUSCARX se llama XLOOKUP en inglés, y la tabla muestra la fórmula en inglés; también acepta las fórmulas escritas en español, con punto y coma (o con comas, como en México).

Precio por producto y tamaño
G2
ABCDEFG
1ProductSizePriceProductSizePrice
2CoffeeSmall$2.50TeaLarge$3.00
3CoffeeLarge$3.50
4TeaSmall$2.00
5TeaLarge$3.00
6JuiceSmall$3.00
7JuiceLarge$4.00
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =BUSCARX(1;(A2:A7=E2)*(B2:B7=F2);C2:C7)

Tea y Large se cruzan en la fila 5, así que G2 devuelve $3.00. Elige Juice y Small: $3.00 otra vez, de otra fila. Añade un cuarto argumento para el caso en que ninguna fila cumpla las dos: =BUSCARX(1;(A2:A7=E2)*(B2:B7=F2);C2:C7;"No such item").

Cómo funcionan las condiciones multiplicadas

A2:A7=E2 compara cada producto con E2 y devuelve seis valores VERDADERO o FALSO. Multiplicar dos listas así convierte VERDADERO en 1 y FALSO en 0, y una fila vale 1 solo si vale 1 en las dos. La columna D muestra esa lista, desbordada desde una sola fórmula.

La matriz en la que busca BUSCARX
D2
ABCDEFG
1ProductSizePriceBoth matchProductSize
2CoffeeSmall$2.500TeaLarge
3CoffeeLarge$3.500
4TeaSmall$2.000
5TeaLarge$3.001
6JuiceSmall$3.000
7JuiceLarge$4.000
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =(A2:A7=F2)*(B2:B7=G2)

Solo D5 vale 1. Cambia F2 o G2 y el 1 se mueve. Cada criterio extra es un *(rango=valor) más, y las condiciones no tienen por qué ser de igualdad: *(C2:C7<3) añade "precio menor que 3". Todos los rangos deben cubrir las mismas filas (A2:A7, B2:B7, C2:C7): si el rango de retorno tiene otro tamaño que las condiciones, BUSCARX devuelve #¡VALOR! (#VALUE! en inglés; la tabla muestra los nombres de error en inglés).

INDICE y COINCIDIR con varios criterios

Para Excel 2019 y anteriores, COINCIDIR (MATCH en inglés) puede buscar el 1 en la misma matriz, e INDICE (INDEX en inglés) devuelve el precio de esa posición.

Dos criterios con INDICE y COINCIDIR
G2
ABCDEFG
1ProductSizePriceProductSizePrice
2CoffeeSmall$2.50CoffeeLarge$3.50
3CoffeeLarge$3.50
4TeaSmall$2.00
5TeaLarge$3.00
6JuiceSmall$3.00
7JuiceLarge$4.00
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =INDICE(C2:C7;COINCIDIR(1;(A2:A7=E2)*(B2:B7=F2);0))

Coffee y Large es la posición 2 de la matriz, e INDICE devuelve $3.50. En Excel en español la fórmula de G2 es =INDICE(C2:C7;COINCIDIR(1;(A2:A7=E2)*(B2:B7=F2);0)). En Excel 2019 y anteriores es una fórmula matricial: pulsa Ctrl+Shift+Enter (Cmd+Shift+Enter en Mac) en lugar de Enter, y Excel la muestra entre llaves. Si pulsas solo Enter, suele devolver #N/A o #¡VALOR!. En Excel 365 basta con Enter. La versión con un solo criterio está en la página de INDICE y COINCIDIR.

Unir los criterios en una sola clave

La otra forma es convertir dos criterios en uno uniéndolos. BUSCARV (VLOOKUP en inglés) necesita los valores unidos en una columna auxiliar al principio de la tabla (la página de BUSCARV muestra esa versión). BUSCARX puede unir los rangos dentro de la fórmula, así que no hace falta columna auxiliar.

Unir producto y tamaño en una clave
G2
ABCDEFG
1ProductSizePriceProductSizePrice
2CoffeeSmall$2.50JuiceLarge$4.00
3CoffeeLarge$3.50
4TeaSmall$2.00
5TeaLarge$3.00
6JuiceSmall$3.00
7JuiceLarge$4.00
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =BUSCARX(E2&"|"&F2;A2:A7&"|"&B2:B7;C2:C7)

A2:A7&"|"&B2:B7 construye seis claves como Juice|Large, y BUSCARX encuentra Juice|Large entre ellas: $4.00. Pon un separador entre las partes. Sin él, "AB" y "C" se unen en el mismo "ABC" que "A" y "BC", y la búsqueda puede devolver una fila equivocada.

Si el valor que quieres es un número y cada combinación aparece una sola vez, SUMAR.SI.CONJUNTO (SUMIFS en inglés) da la misma respuesta sin ninguna matriz: =SUMAR.SI.CONJUNTO(C2:C7;A2:A7;E2;B2:B7;F2). Devuelve 0 en lugar de un error cuando nada coincide, lo que puede ocultar una errata.

Devolver todas las coincidencias con FILTRAR

BUSCARX e INDICE con COINCIDIR devuelven la primera fila que coincide. Cuando coinciden varias filas y las quieres todas, usa FILTRAR (FILTER en inglés) con las mismas condiciones.

Todos los pedidos de Phone de North
F2
ABCDEFG
1RegionProductQuarterSalesMatches
2NorthLaptopQ1120Q1210
3NorthPhoneQ1210Q2225
4SouthLaptopQ195Q3240
5NorthPhoneQ2225
6SouthPhoneQ2180
7NorthLaptopQ2135
8NorthPhoneQ3240
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =FILTRAR(C2:D8;(A2:A8="North")*(B2:B8="Phone"))

Tres filas son North y Phone, así que F2 desborda sus trimestres y ventas en F2:G4. En Excel en español la fórmula es =FILTRAR(C2:D8;(A2:A8="North")*(B2:B8="Phone")). Cambia A3 a South y la lista baja a dos. Si ninguna fila coincide, FILTRAR devuelve #CALC!; un tercer argumento como "None" muestra un texto en su lugar. Hay más opciones en la página de FILTRAR.

Práctica: tres criterios

Ventas por región, producto y trimestre
G4
ABCDEFG
1RegionProductQuarterSalesRegionSouth
2NorthLaptopQ1120ProductLaptop
3NorthLaptopQ2135QuarterQ2
4NorthPhoneQ1210Sales
5SouthLaptopQ195
6SouthPhoneQ2180
7SouthLaptopQ2110
8NorthPhoneQ2225
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.

Tu turno: Devuelve en G4 las ventas de la región de G1, el producto de G2 y el trimestre de G3.

Preguntas frecuentes

¿Cómo uso BUSCARX con varios criterios?

Multiplica una comparación por criterio y busca el 1: =BUSCARX(1;(A2:A7=E2)*(B2:B7=F2);C2:C7). Cada comparación da VERDADERO o FALSO por fila, el producto es 1 solo donde todas son VERDADERO, y BUSCARX devuelve la primera fila así.

¿Cómo hago INDICE y COINCIDIR con dos criterios?

Usa las mismas condiciones multiplicadas dentro de COINCIDIR: =INDICE(C2:C7;COINCIDIR(1;(A2:A7=E2)*(B2:B7=F2);0)). En Excel 2019 y anteriores, confírmala con Ctrl+Shift+Enter (Cmd+Shift+Enter en Mac).

¿BUSCARV puede usar dos criterios?

No directamente. Añade al principio de la tabla una columna auxiliar que una los dos valores, como =A2&"|"&B2, y busca el valor unido: =BUSCARV(E2&"|"&F2;tabla_auxiliar;columna;FALSO).

¿SUMAR.SI.CONJUNTO puede sustituir a una búsqueda con dos criterios?

Sí, cuando el valor es un número y cada combinación aparece una sola vez: =SUMAR.SI.CONJUNTO(C2:C7;A2:A7;E2;B2:B7;F2). Devuelve 0 en lugar de #N/A cuando ninguna fila coincide, y suma los valores si una combinación aparece dos veces.

¿Cómo busco con criterios O?

Suma las condiciones en lugar de multiplicarlas: (A2:A7="Tea")+(A2:A7="Juice") vale 1 o más donde se cumple cualquiera. Busca un valor mayor que 0, por ejemplo con =BUSCARX(VERDADERO;((A2:A7="Tea")+(A2:A7="Juice"))>0;C2:C7).

Ilustración de los lenguajes de programación de Coddy

Aprende a programar con Coddy

COMENZAR