=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).
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Product | Size | Price | Product | Size | Price | |
| 2 | Coffee | Small | $2.50 | Tea | Large | $3.00 | |
| 3 | Coffee | Large | $3.50 | ||||
| 4 | Tea | Small | $2.00 | ||||
| 5 | Tea | Large | $3.00 | ||||
| 6 | Juice | Small | $3.00 | ||||
| 7 | Juice | Large | $4.00 |
=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.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Product | Size | Price | Both match | Product | Size | |
| 2 | Coffee | Small | $2.50 | 0 | Tea | Large | |
| 3 | Coffee | Large | $3.50 | 0 | |||
| 4 | Tea | Small | $2.00 | 0 | |||
| 5 | Tea | Large | $3.00 | 1 | |||
| 6 | Juice | Small | $3.00 | 0 | |||
| 7 | Juice | Large | $4.00 | 0 |
=(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.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Product | Size | Price | Product | Size | Price | |
| 2 | Coffee | Small | $2.50 | Coffee | Large | $3.50 | |
| 3 | Coffee | Large | $3.50 | ||||
| 4 | Tea | Small | $2.00 | ||||
| 5 | Tea | Large | $3.00 | ||||
| 6 | Juice | Small | $3.00 | ||||
| 7 | Juice | Large | $4.00 |
=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.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Product | Size | Price | Product | Size | Price | |
| 2 | Coffee | Small | $2.50 | Juice | Large | $4.00 | |
| 3 | Coffee | Large | $3.50 | ||||
| 4 | Tea | Small | $2.00 | ||||
| 5 | Tea | Large | $3.00 | ||||
| 6 | Juice | Small | $3.00 | ||||
| 7 | Juice | Large | $4.00 |
=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.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Region | Product | Quarter | Sales | Matches | ||
| 2 | North | Laptop | Q1 | 120 | Q1 | 210 | |
| 3 | North | Phone | Q1 | 210 | Q2 | 225 | |
| 4 | South | Laptop | Q1 | 95 | Q3 | 240 | |
| 5 | North | Phone | Q2 | 225 | |||
| 6 | South | Phone | Q2 | 180 | |||
| 7 | North | Laptop | Q2 | 135 | |||
| 8 | North | Phone | Q3 | 240 |
=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
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Region | Product | Quarter | Sales | Region | South | |
| 2 | North | Laptop | Q1 | 120 | Product | Laptop | |
| 3 | North | Laptop | Q2 | 135 | Quarter | Q2 | |
| 4 | North | Phone | Q1 | 210 | Sales | ||
| 5 | South | Laptop | Q1 | 95 | |||
| 6 | South | Phone | Q2 | 180 | |||
| 7 | South | Laptop | Q2 | 110 | |||
| 8 | North | Phone | Q2 | 225 |
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).