=BUSCARX(F2;A2:A6;C2:C6) busca el valor de F2 en A2:A6 y devuelve el valor de la misma fila de C2:C6. Busca una coincidencia exacta por defecto, la columna de búsqueda puede estar en cualquier sitio, y necesita Excel 2021 o Microsoft 365 (en Excel 2019 y anteriores usa INDICE y COINCIDIR). BUSCARX se llama XLOOKUP en inglés, y la tabla muestra la fórmula así: =XLOOKUP(F2,A2:A6,C2:C6). La tabla también acepta las fórmulas escritas en español, con punto y coma (o con comas, como en México). Escribe otro producto en F2.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Stock | Look for | Price | |
| 2 | Apple | Fruit | $1.20 | 40 | Bread | $2.40 | |
| 3 | Pear | Fruit | $1.50 | 25 | |||
| 4 | Carrot | Vegetable | $0.80 | 60 | |||
| 5 | Bread | Bakery | $2.40 | 15 | |||
| 6 | Milk | Dairy | $1.10 | 30 |
=BUSCARX(F2;A2:A6;C2:C6)Haz clic en G2: el rango de búsqueda y el de retorno se marcan por separado. Cambia C2:C6 por B2:B6 y G2 devuelve la categoría. No hay número de columna que contar, así que insertar una columna entre A y C no rompe la fórmula: Excel mueve los dos rangos.
Sintaxis de BUSCARX
=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])
| Argumento | Qué hace | Por defecto |
|---|---|---|
lookup_value (valor_buscado) | El valor que se busca. | obligatorio |
lookup_array (matriz_buscada) | La columna (o fila) en la que se busca. | obligatorio |
return_array (matriz_devuelta) | La columna, fila o bloque del que se devuelve. Misma altura que lookup_array. | obligatorio |
if_not_found (si_no_se_encuentra) | Lo que se muestra cuando nada coincide. | #N/A |
match_mode (modo_de_coincidencia) | 0 exacta, -1 exacta o siguiente menor, 1 exacta o siguiente mayor, 2 comodines. | 0 |
search_mode (modo_de_búsqueda) | 1 de primero a último, -1 de último a primero, 2 y -2 búsqueda binaria en datos ordenados. | 1 |
Solo los tres primeros son obligatorios. Para saltarte un argumento opcional y dar uno posterior, déjalo vacío entre separadores: =BUSCARX(F2;A2:A6;C2:C6;;0;-1) fija el modo_de_búsqueda y deja si_no_se_encuentra en su valor por defecto.
Devolver varias columnas a la vez
Dale a BUSCARX un rango de retorno de varias columnas y vuelve la fila entera. El resultado se desborda a las celdas junto a la fórmula.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Product | Category | Price | Stock |
| 2 | Apple | Fruit | $1.20 | 40 |
| 3 | Pear | Fruit | $1.50 | 25 |
| 4 | Carrot | Vegetable | $0.80 | 60 |
| 5 | Bread | Bakery | $2.40 | 15 |
| 6 | Milk | Dairy | $1.10 | 30 |
| 7 | Look for | Carrot | ||
| 8 | Result | Vegetable | $0.80 | 60 |
=BUSCARX(B7;A2:A6;B2:D6)Una sola fórmula en B8 llena B8:D8 con Vegetable, $0.80 y 60. Escribe algo en C8 y B8 muestra #SPILL!, porque el resultado no tiene sitio; bórralo y el resultado vuelve. Para devolver las columnas en otro orden, envuelve el rango de retorno en ELEGIRCOLS (CHOOSECOLS en inglés): =BUSCARX(B7;A2:A6;ELEGIRCOLS(B2:D6;3;1)) da Stock y luego Category.
BUSCARX hacia la izquierda, y un mensaje cuando nada coincide
La columna de búsqueda no tiene que ir primero. Aquí BUSCARX busca en los precios de la columna C y devuelve el nombre del producto de la columna A, algo que BUSCARV (VLOOKUP en inglés) no puede hacer. El cuarto argumento dice qué mostrar cuando ningún producto tiene ese precio.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Stock | Price | Product | |
| 2 | Apple | Fruit | $1.20 | 40 | $2.40 | Bread | |
| 3 | Pear | Fruit | $1.50 | 25 | |||
| 4 | Carrot | Vegetable | $0.80 | 60 | |||
| 5 | Bread | Bakery | $2.40 | 15 | |||
| 6 | Milk | Dairy | $1.10 | 30 |
=BUSCARX(F2;C2:C6;A2:A6;"No product")$2.40 devuelve Bread. Cambia F2 a 3 y G2 muestra "No product" en lugar de #N/A. "" como cuarto argumento muestra una celda que parece vacía. si_no_se_encuentra solo cubre el "no encontrado": un rango de retorno de otra altura sigue dando #¡VALOR! (#VALUE! en inglés; la tabla muestra los nombres de error en inglés), que es justo lo que quieres ver.
Encontrar la última coincidencia
BUSCARX devuelve la primera coincidencia empezando por arriba. Pon el modo_de_búsqueda, el sexto argumento, en -1 y busca desde abajo, así que devuelve la última coincidencia: el último pedido, el precio más reciente, el último estado.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Date | Customer | Amount | Customer | First | Last | |
| 2 | 2026-03-02 | Ben | 120 | Ben | 120 | 60 | |
| 3 | 2026-03-05 | Ana | 80 | ||||
| 4 | 2026-03-09 | Ben | 45 | ||||
| 5 | 2026-03-12 | Cara | 200 | ||||
| 6 | 2026-03-20 | Ben | 60 | ||||
| 7 | 2026-03-24 | Ana | 95 |
=BUSCARX(E2;B2:B7;C2:C7;;0;-1)El primer pedido de Ben es 120 y el último 60. Cambia E2 a Ana: 80 y 95. Esto depende de que las filas estén en orden de fecha. Si no lo están, busca la fecha más reciente del cliente: =BUSCARX(1;(B2:B7=E2)*(A2:A7=MAX.SI.CONJUNTO(A2:A7;B2:B7;E2));C2:C7).
Coincidencia aproximada: siguiente menor o siguiente mayor
El modo_de_coincidencia -1 devuelve una coincidencia exacta o, si no la hay, el siguiente valor menor. Es la regla de los tramos: un nivel de comisión, un tramo de impuestos, una nota. A diferencia de BUSCARV con VERDADERO, la tabla no tiene que estar ordenada. Los tramos de abajo están desordenados a propósito.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Sales from | Rate | Rep | Sales | Rate | |
| 2 | 5000 | 5% | Ana | 750 | 0% | |
| 3 | 0 | 0% | Ben | 4,200 | 3% | |
| 4 | 10000 | 8% | Cara | 5,000 | 5% | |
| 5 | 1000 | 3% | Dev | 12,500 | 8% |
=BUSCARX(E2;$A$2:$A$5;$B$2:$B$5;;-1)Las ventas de Ben, 4,200, caen entre 1000 y 5000, así que recibe el 3% del tramo de 1000. Las de Cara, 5,000, son una coincidencia exacta: 5%. El modo_de_coincidencia 1 funciona al revés, exacta o siguiente mayor, y responde a "la caja más pequeña en la que cabe" o "el siguiente horario de entrega": =XLOOKUP(18,{5;12;25;50},{"S";"M";"L";"XL"},,1) (en su forma inglesa) devuelve L.
BUSCARX con comodines
El modo_de_coincidencia 2 convierte * (cualquier número de caracteres) y ? (un carácter) en comodines. Sin él, BUSCARX busca esos caracteres tal cual, lo contrario que BUSCARV (cuya coincidencia exacta acepta comodines), y es el motivo habitual de que un BUSCARX con comodines devuelva #N/A o su texto de si_no_se_encuentra:
=XLOOKUP("*coffee*",A2:A6,C2:C6,"None") None: no product is named *coffee*
=XLOOKUP("*coffee*",A2:A6,C2:C6,"None",2) 2.9, the price of Iced coffee
En Excel en español la segunda es =BUSCARX("*coffee*";A2:A6;C2:C6;"None";2).
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Contains | Price | |
| 2 | Green tea | Drinks | $3.20 | coffee | $2.90 | |
| 3 | Iced coffee | Drinks | $2.90 | |||
| 4 | Coffee beans | Pantry | $8.50 | |||
| 5 | Black tea | Drinks | $2.70 | |||
| 6 | Orange juice | Drinks | $3.40 |
=BUSCARX("*"&E2&"*";A2:A6;C2:C6;"None";2)"coffee" encuentra primero Iced coffee, $2.90. Añade -1 como sexto argumento y encuentra Coffee beans, $8.50. Como en cualquier búsqueda de Excel, no se distinguen mayúsculas. Para encontrar un asterisco o un signo de interrogación de verdad con el modo 2, pon una virgulilla (~) delante: "~*".
BUSCARX en dos direcciones
Un BUSCARX que devuelve una fila entera puede ser el rango de retorno de un segundo BUSCARX. El interior elige la fila por región y el exterior elige de esa fila la columna del mes.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Region | Jan | Feb | Mar |
| 2 | North | 4,200 | 3,900 | 4,800 |
| 3 | South | 3,100 | 3,600 | 3,300 |
| 4 | East | 5,200 | 4,700 | 5,600 |
| 5 | West | 2,800 | 3,000 | 3,400 |
| 6 | Region | South | ||
| 7 | Month | Feb | ||
| 8 | Sales | 3,600 |
=BUSCARX(B7;B1:D1;BUSCARX(B6;A2:A5;B2:D5))BUSCARX(B6;A2:A5;B2:D5) devuelve la fila de South: 3100, 3600 y 3300. El BUSCARX exterior encuentra Feb en B1:D1 y toma el valor correspondiente de esa fila: 3,600. En Excel en español la fórmula de B8 es =BUSCARX(B7;B1:D1;BUSCARX(B6;A2:A5;B2:D5)). Elige otra región y otro mes en B6 y B7. La versión con INDICE y COINCIDIR de la misma búsqueda está en la página de INDICE y COINCIDIR.
BUSCARX en Excel antiguo y en Google Sheets
BUSCARX existe en Excel 2021, Excel 2024, Microsoft 365, Excel para la web y las aplicaciones móviles. Si abres un archivo que la usa en Excel 2019 o anterior, las fórmulas muestran #¿NOMBRE? (#NAME? en inglés) en cuanto se recalculan. Cuando un archivo debe funcionar en todas partes, escribe la búsqueda con INDICE (INDEX en inglés) y COINCIDIR (MATCH en inglés), que entienden todas las versiones:
=XLOOKUP(F2, A2:A6, C2:C6, "Not found")
=IFNA(INDEX(C2:C6, MATCH(F2, A2:A6, 0)), "Not found")
En Excel en español: =SI.ND(INDICE(C2:C6;COINCIDIR(F2;A2:A6;0));"Not found"). Google Sheets tiene XLOOKUP desde 2022, con los mismos argumentos. Para comparar las diferencias lado a lado, consulta BUSCARV frente a BUSCARX. Para buscar por dos columnas a la vez (producto y tamaño, nombre y fecha), el patrón =BUSCARX(1;(B2:B6=E2)*(C2:C6=F2);D2:D6) se explica en la página de buscar con varios criterios.
Práctica: un precio, o "Not found"
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Stock | Look for | Price | |
| 2 | Apple | Fruit | $1.20 | 40 | Kiwi | ||
| 3 | Pear | Fruit | $1.50 | 25 | |||
| 4 | Carrot | Vegetable | $0.80 | 60 | |||
| 5 | Bread | Bakery | $2.40 | 15 | |||
| 6 | Milk | Dairy | $1.10 | 30 |
Tu turno: En G2, devuelve el precio del producto de F2, o el texto Not found cuando no esté en la lista.
Práctica: descuento según el tamaño del pedido
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Order from | Discount | Order | Discount | |
| 2 | $0 | 0% | $320 | ||
| 3 | $100 | 5% | |||
| 4 | $250 | 10% | |||
| 5 | $500 | 15% |
Tu turno: Cada descuento se aplica desde su importe de pedido en adelante. En E2, usa BUSCARX para devolver el descuento del importe de D2.
Preguntas frecuentes
¿Cómo uso BUSCARX en Excel?
Dale tres argumentos: qué buscar, la columna donde buscar y la columna que se devuelve. =BUSCARX("Pear";A2:A6;C2:C6) busca Pear en A2:A6 y devuelve el valor de la misma fila de C2:C6. Busca una coincidencia exacta salvo que digas otra cosa.
¿Qué versiones de Excel tienen BUSCARX?
Excel 2021, Excel 2024, Microsoft 365 y Excel para la web. En Excel 2019 y anteriores la fórmula muestra #¿NOMBRE?; usa ahí =INDICE(C2:C6;COINCIDIR(F2;A2:A6;0)). Google Sheets también tiene esta función.
¿Cómo hago que BUSCARX devuelva un vacío o un texto en lugar de #N/A?
Usa el cuarto argumento, si_no_se_encuentra: =BUSCARX(F2;A2:A6;C2:C6;"Not found"), o "" para una celda que parezca vacía. Solo reemplaza el caso de no encontrado; los demás errores se siguen viendo.
¿Cómo encuentro la última coincidencia con BUSCARX?
Pon el sexto argumento, modo_de_búsqueda, en -1 para que la búsqueda vaya de abajo arriba: =BUSCARX("Ben";B2:B7;C2:C7;;0;-1) devuelve el último importe de Ben en lugar del primero.
¿BUSCARX puede devolver más de una columna?
Sí. Dale un rango de retorno de varias columnas, como =BUSCARX(F2;A2:A6;B2:D6), y el resultado se desborda a las celdas de al lado. Las celdas en las que se desborda deben estar vacías, o Excel muestra #SPILL!.