Menu

BUSCARX en Excel: fórmula, ejemplos y modos (XLOOKUP)

=BUSCARX(F2;A2:A6;C2:C6) busca F2 en A2:A6 y devuelve el valor de la misma fila de C2:C6. Texto si no se encuentra, varias columnas a la vez, búsquedas hacia la izquierda, última coincidencia, coincidencia aproximada y con comodines.

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

=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.

Precio de un producto
G2
ABCDEFG
1ProductCategoryPriceStockLook forPrice
2AppleFruit$1.2040Bread$2.40
3PearFruit$1.5025
4CarrotVegetable$0.8060
5BreadBakery$2.4015
6MilkDairy$1.1030
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(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])
ArgumentoQué hacePor 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.

Todos los campos de un producto
B8
ABCD
1ProductCategoryPriceStock
2AppleFruit$1.2040
3PearFruit$1.5025
4CarrotVegetable$0.8060
5BreadBakery$2.4015
6MilkDairy$1.1030
7Look forCarrot
8ResultVegetable$0.8060
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(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.

¿Qué producto cuesta esto?
G2
ABCDEFG
1ProductCategoryPriceStockPriceProduct
2AppleFruit$1.2040$2.40Bread
3PearFruit$1.5025
4CarrotVegetable$0.8060
5BreadBakery$2.4015
6MilkDairy$1.1030
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(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.

Primer y último pedido de un cliente
G2
ABCDEFG
1DateCustomerAmountCustomerFirstLast
22026-03-02Ben120Ben12060
32026-03-05Ana80
42026-03-09Ben45
52026-03-12Cara200
62026-03-20Ben60
72026-03-24Ana95
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;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.

Tasa de comisión según las ventas
F2
ABCDEF
1Sales fromRateRepSalesRate
250005%Ana7500%
300%Ben4,2003%
4100008%Cara5,0005%
510003%Dev12,5008%
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;$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).

El primer producto cuyo nombre contiene el texto
F2
ABCDEF
1ProductCategoryPriceContainsPrice
2Green teaDrinks$3.20coffee$2.90
3Iced coffeeDrinks$2.90
4Coffee beansPantry$8.50
5Black teaDrinks$2.70
6Orange juiceDrinks$3.40
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&"*";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.

Ventas por región y mes
B8
ABCD
1RegionJanFebMar
2North4,2003,9004,800
3South3,1003,6003,300
4East5,2004,7005,600
5West2,8003,0003,400
6RegionSouth
7MonthFeb
8Sales3,600
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(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"

Lista de precios
G2
ABCDEFG
1ProductCategoryPriceStockLook forPrice
2AppleFruit$1.2040Kiwi
3PearFruit$1.5025
4CarrotVegetable$0.8060
5BreadBakery$2.4015
6MilkDairy$1.1030
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: 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

Niveles de descuento
E2
ABCDE
1Order fromDiscountOrderDiscount
2$00%$320
3$1005%
4$25010%
5$50015%
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: 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!.

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

Aprende a programar con Coddy

COMENZAR