- BUSCARX permite buscar valores en rangos flexibles y devolver resultados asociados, superando las limitaciones de BUSCARV y BUSCARH.
- Los argumentos de coincidencia y modo de búsqueda controlan resultados exactos, aproximados, direcciones de búsqueda y uso de comodines.
- Combinar BUSCARX con funciones como IGUAL, HALLAR, ENCONTRAR y ESPACIOS mejora las búsquedas de texto y evita errores por formatos sucios.
- En Google Sheets y BigQuery, XLOOKUP replica esta lógica y sustituye de forma más potente a VLOOKUP y HLOOKUP tradicionales.

¿Cómo usar BUSCARX para encontrar datos en una tabla de Excel y Google Sheets? Si trabajas a menudo con hojas de cálculo, tarde o temprano terminas harto de buscar datos manualmente entre filas y columnas. La función BUSCARX llega justo para eso: es la evolución natural de BUSCARV y BUSCARH, mucho más flexible y fácil de mantener. Tanto en Excel como en Google Sheets (y hasta en BigQuery en un contexto más avanzado) te permite localizar un valor en una tabla y devolver el dato asociado sin volverte loco con columnas contadas a mano ni rangos rígidos.
A lo largo de esta guía vas a ver, paso a paso, cómo usar BUSCARX para encontrar datos en una tabla en Excel y Google Sheets, qué hace exactamente cada argumento, cómo funciona el modo de coincidencia y el modo de búsqueda, cómo manejar textos (incluyendo búsquedas parciales, mayúsculas/minúsculas y espacios sobrantes) y hasta algunos usos avanzados como búsquedas en dos direcciones o sumar resultados de varias coincidencias.
Qué es BUSCARX y por qué mejora a BUSCARV y BUSCARH
La función BUSCARX (XLOOKUP en inglés) está pensada para buscar un valor en un rango o matriz y devolver el elemento relacionado de otra columna o fila. A diferencia de BUSCARV/BUSCARH, no obliga a que la columna buscada esté a la izquierda ni a que la tabla esté ordenada de una forma concreta, y además ofrece controles muy finos sobre qué hacer cuando no hay coincidencias.
En Excel, la sintaxis general de BUSCARX es esta:
=BUSCARX(valor_buscado; matriz_buscada; matriz_devuelta; ; ; )
Cada argumento tiene un papel muy claro, y entenderlos bien es clave para sacarle todo el jugo a BUSCARX sin errores ni resultados raros cuando cambias la estructura de tus tablas.
Argumentos de BUSCARX en Excel: explicación detallada
Vamos a desgranar cada argumento de BUSCARX en Excel, porque de cómo los configures depende que tus búsquedas sean fiables y fáciles de mantener incluso cuando cambian los datos de origen.
valor_buscado (obligatorio) es el dato que quieres localizar. Puede ser un número, una fecha, un texto, una referencia a celda o incluso un resultado de otra fórmula. Si, de forma excepcional, se omitiese, BUSCARX podría llegar a devolver celdas en blanco dentro de la matriz_buscada, pero en el uso normal siempre conviene indicar claramente el valor o la referencia de celda que buscaremos.
matriz_buscada (obligatorio) es el rango o matriz donde BUSCARX intenta encontrar el valor_buscado. Debe ser una sola columna o una sola fila, porque es el eje sobre el que se hace la coincidencia. Por ejemplo, una columna de códigos de producto o una fila con nombres de meses.
matriz_devuelta (obligatorio) es el rango de donde se va a extraer el resultado una vez localizada la coincidencia. Debe tener el mismo tamaño en número de filas (si buscas verticalmente) o de columnas (si buscas horizontalmente) que la matriz_buscada. De este rango saldrá el valor que BUSCARX devolverá: precio, nombre, departamento, impuesto, etc.
El argumento (opcional) te permite controlar qué ocurre cuando no existe una coincidencia válida. Si lo rellenas, puedes devolver un mensaje personalizado, un número, un cero… lo que te convenga. Si lo dejas vacío y no se encuentra nada, la función devolverá el error #N/A, que aparece por defecto para indicar “no encontrado”.
El argumento (opcional) define cómo se compara el valor_buscado con los datos de la matriz_buscada. Aquí están las opciones principales:
- 0: coincidencia exacta; si no se encuentra, devuelve #N/A. Es el valor predeterminado.
- -1: coincidencia exacta o, si no hay coincidencia, el siguiente valor más pequeño.
- 1: coincidencia exacta o, si no hay coincidencia, el siguiente valor más grande.
- 2: activa la coincidencia con comodines, donde *, ? y ~ tienen significados especiales.
Por último, (opcional) controla en qué dirección y con qué método recorre BUSCARX el rango de búsqueda:
- 1: búsqueda normal empezando por el primer elemento hasta el último (por defecto).
- -1: búsqueda inversa, empezando por el último elemento hacia arriba, útil para localizar la última coincidencia.
- 2: búsqueda binaria suponiendo que la matriz_buscada está ordenada en orden ascendente; si no lo está, pueden salir resultados incorrectos.
- -2: búsqueda binaria suponiendo orden descendente; igualmente, si no se respeta el orden, los resultados serán no fiables.
Ejemplos prácticos de BUSCARX en Excel

Para que veas cómo encajar todos estos argumentos, vamos a repasar varios escenarios típicos que se cubren con BUSCARX en Excel y que suelen aparecer en informes, listados y modelos financieros.
Ejemplo 1: buscar el código telefónico de un país
Imagina que tienes una tabla con una lista de países en la columna B (B2:B11) y sus códigos de país telefónicos en la columna D (D2:D11). En la celda F2 escribes un país y quieres que BUSCARX te devuelva el prefijo internacional correspondiente.
La fórmula sería algo del estilo:
=BUSCARX(F2; B2:B11; D2:D11)
Aquí BUSCARX toma como valor_buscado el contenido de F2, busca ese país en la matriz_buscada B2:B11 y devuelve el código telefónico correspondiente desde la matriz_devuelta D2:D11. No hace falta indicar modo_de_coincidencia porque, por defecto, se realiza coincidencia exacta.
Ejemplo 2: traer varios datos de un empleado con una sola fórmula
Supongamos ahora una tabla de empleados con un número de identificación en una columna y, en las columnas C y D (C5:D14), el nombre y el departamento. En lugar de hacer una BUSCARV para el nombre y otra para el departamento, BUSCARX puede devolver una matriz con varios elementos a la vez, algo imposible con BUSCARV de manera tan limpia.
Si usas BUSCARX de forma que matriz_devuelta abarque varias columnas, la función devuelve una “matriz derramada” con los valores correspondientes, ocupando varias celdas de golpe y simplificando enormemente las fórmulas.
Ejemplo 3: BUSCARX con texto personalizado si no se encuentra nada
Partiendo del caso anterior, quizá te interese que, si un ID de empleado no existe, en vez de #N/A aparezca algo más entendible, como “No encontrado” o incluso dejar un cero. Para eso entra en juego el argumento si_no_se_encuentra.
Una fórmula típica podría ser:
=BUSCARX(ID_empleado; rango_ID; rango_datos; «Empleado no encontrado»)
De este modo, cuando el identificador no aparece en el rango, se muestra tu mensaje personalizado en lugar del error estándar.
Ejemplo 4: buscar tramos de ingresos y tipos impositivos
Este es un caso clásico de búsqueda aproximada: tienes en la columna C un listado de ingresos personales y en la columna B el tipo impositivo que corresponde a cada tramo. En la celda E2 anotas un ingreso concreto y quieres que BUSCARX te devuelva el tipo de impuesto adecuado, incluso si ese ingreso no figura exactamente en la tabla.
La fórmula puede configurarse así:
=BUSCARX(E2; C:C; B:B; 0; 1; 1)
Aquí se fija si_no_se_encuentra = 0 para que, si no hay coincidencia válida, se devuelva un cero en lugar de un error; modo_de_coincidencia = 1 para que, si no hay valor exacto, BUSCARX devuelva el siguiente valor mayor; y modo_de_búsqueda = 1 para recorrer la columna desde el primer elemento hasta el último.
Ejemplo 5: búsqueda doble (vertical y horizontal) tipo índice cruzado
En algunos informes, necesitas encontrar un valor que está en la intersección de una fila y una columna, por ejemplo, “Ingresos brutos” en el “Trim1”. En la columna B tienes conceptos como Ingresos brutos, Costes, Beneficio, etc., y en la fila superior (C5:F5) los trimestres. BUSCARX permite hacer una coincidencia vertical y otra horizontal con una función anidada.
Primero se localiza “Ingresos brutos” en la columna B y después “Trim1” en la fila de cabecera, devolviendo finalmente el valor de la celda en la intersección de ambos. Este patrón es el equivalente moderno a combinar INDICE y COINCIDIR, pero mucho más legible.
Ejemplo 6: sumar un rango dinámico basado en dos BUSCARX
Otro uso avanzado muy práctico es sumar todos los valores comprendidos entre dos puntos de una tabla. Imagina una lista de frutas con sus ventas en una columna: quieres sumar las ventas desde “uvas” hasta “peras”, incluyendo ambas.
Una fórmula posible sería:
=SUMA(BUSCARX(B3; B6:B10; E6:E10):BUSCARX(C3; B6:B10; E6:E10))
BUSCARX devuelve un rango como resultado, de manera que, cuando se evalúa la fórmula completa, se convierte en algo tipo =SUMA($E$7:$E$9). Puedes comprobarlo tú mismo usando la herramienta de “Evaluar fórmula” en Excel (Fórmulas > Auditoría de fórmulas > Evaluar fórmula), avanzando paso a paso para ver cómo se resuelven los rangos.
BUSCARX en Google Sheets y BigQuery: sintaxis y matices
En Google Sheets y en BigQuery también dispones de XLOOKUP, con un planteamiento muy similar, aunque con algún matiz en los nombres de los argumentos y en los modos disponibles.
En BigQuery, la función se describe como una búsqueda cruzada que devuelve los valores de la columna de resultados según la posición en la que se haya encontrado coincidencia en la columna de búsqueda. Si no hay coincidencia, puede devolverse el valor más cercano, dependiendo de cómo configures el modo de coincidencia.
La sintaxis simplificada de XLOOKUP para BigQuery es:
XLOOKUP(search_key, lookup_range, result_range, missing_value, match_mode)
Aquí los argumentos funcionan de la siguiente manera: search_key es el valor que quieres localizar (por ejemplo, 42, «Gatos» o una referencia a B24); lookup_range es la columna que se usa para la búsqueda; result_range es la columna desde la que se devolverá el resultado; missing_value es el valor opcional que se mostrará si no se encuentra coincidencia (por defecto, #N/A); y match_mode controla la forma de emparejar la clave de búsqueda.
Los valores admitidos para match_mode son:
- 0: coincidencia exacta.
- 1: coincidencia exacta o siguiente valor mayor que search_key.
- -1: coincidencia exacta o siguiente valor menor que search_key.
- 2: coincidencia usando comodines.
En BigQuery no existe el argumento search_mode, así que solo puedes ajustar el tipo de coincidencia pero no la dirección ni la búsqueda binaria.
Un ejemplo clásico de uso en este entorno sería:
=XLOOKUP(«Apple», table_name!fruit, table_name!price)
que localizaría la cadena «Apple» en la columna fruit y devolvería el precio correspondiente desde la columna price, aplicando el match_mode por defecto (coincidencia exacta).
XLOOKUP en Google Sheets: versión completa con search_mode
En Google Sheets, la sintaxis más completa de XLOOKUP se parece mucho a la de Excel, con algunos cambios de nombre en los argumentos pero la misma filosofía de trabajo.
La sintaxis general es:
XLOOKUP(search_key, lookup_range, result_range, missing_value, match_mode, search_mode)
Los argumentos funcionan así: search_key es el valor que vas a buscar; lookup_range es el rango de búsqueda, que debe ser una sola columna o una sola fila; result_range es el rango del que saldrá el resultado, con el mismo tamaño de filas o columnas que lookup_range; missing_value es el valor opcional a devolver si no hay coincidencia (por defecto, #N/A); match_mode define el tipo de coincidencia; y search_mode indica cómo se recorre el rango.
En cuanto a match_mode, las opciones son:
- 0: coincidencia exacta.
- 1: coincidencia exacta o siguiente valor mayor que search_key.
- -1: coincidencia exacta o siguiente valor menor que search_key.
- 2: coincidencia con caracteres comodín.
Y para search_mode dispones de:
- 1: busca desde la primera entrada hasta la última.
- -1: busca desde la última entrada hacia la primera.
- 2: búsqueda binaria en rango ordenado en orden ascendente.
- -2: búsqueda binaria en rango ordenado en orden descendente.
Un detalle importante es que, si result_range abarca más de una fila o columna, el resultado será toda la fila o columna coincidente, generando un resultado de matriz, no solo una celda individual, lo que permite crear salidas “derrames” similares a las de Excel moderno.
Ejemplos típicos de XLOOKUP en Google Sheets que reemplazan a VLOOKUP y HLOOKUP son:
- XLOOKUP(«Apple», A2:A, E2:E) como sustituto de VLOOKUP(«Apple», A2:E, 5, FALSE).
- XLOOKUP(«Price», A1:E1, A6:E6) como alternativa a HLOOKUP(«Price», A1:E6, 6, FALSE).
- XLOOKUP(«Apple», E2:E7, A2:A7) para buscar en una columna de la derecha y devolver un valor situado a la izquierda, algo que BUSCARV no puede hacer sin trucos con matrices.
BUSCARX con texto en Excel: coincidencias exactas, parciales y sensibles a mayúsculas
Además de trabajar con números, BUSCARX se usa muchísimo con textos: nombres de productos, códigos alfanuméricos, referencias internas… Saber dominar las coincidencias con cadenas de texto te ahorra muchas búsquedas manuales y errores tontos.
Para buscar una cadena fija, puedes escribirla directamente entre comillas en la fórmula, por ejemplo:
=BUSCARX(«Sub 2»; B3:B7; C3:C7)
En este caso BUSCARX buscará literalmente “Sub 2” en la columna B y devolverá el valor relacionado de la columna C. Otra alternativa más flexible es referenciar una celda que contenga el texto que quieres localizar, lo que te permite cambiar el criterio sin tocar la fórmula:
=BUSCARX(E3; B3:B7; C3:C7)
Si en lugar de un solo texto quieres buscar varios textos a la vez, basta con que E3:E4 contenga la lista de criterios; al usar ese rango como valor_buscado, BUSCARX generará una fórmula de matriz dinámica:
=BUSCARX(E3:E4; B3:B7; C3:C7)
La fórmula se “derramará” automáticamente, calculando cada coincidencia para cada elemento de E3:E4 sin necesidad de copiar manualmente la fórmula hacia abajo.
Si prefieres el enfoque clásico de copiar fórmulas, puedes usar una sola celda como valor_buscado, bloquear las referencias de matriz y arrastrar hacia abajo:
=BUSCARX(E3; $B$3:$B$7; $C$3:$C$7)
Es importante fijar las referencias del segundo y tercer argumento (matrices) con signos de dólar para que no se desplacen cuando copies la fórmula. Puedes hacerlo manualmente o usando F4 al seleccionar la referencia dentro de la barra de fórmulas.
Encontrar la última coincidencia de un texto con BUSCARX
Por defecto, BUSCARX recorre el rango de arriba hacia abajo y se queda con la primera coincidencia. Pero muchas veces quieres lo contrario: la última aparición de un valor (por ejemplo, el último movimiento de un cliente o el último estado de un pedido). Aquí entra en juego el modo_de_búsqueda.
Para modificar este comportamiento, basta con utilizar el valor -1 en el último argumento, de forma que la búsqueda vaya desde el final del rango hacia el principio. Una fórmula típica sería:
=BUSCARX(E3; B3:B7; C3:C7;;; -1)
En este caso, los argumentos opcionales si_no_se_encuentra y modo_de_coincidencia se dejan vacíos (manteniendo los puntos y comas), y solo se especifica modo_de_búsqueda = -1 para que BUSCARX encuentre la última coincidencia del texto de E3 en el rango B3:B7.
BUSCARX distinguiendo mayúsculas y minúsculas con la función IGUAL
De fábrica, BUSCARX no diferencia entre mayúsculas y minúsculas: “Código”, “CODIGO” y “código” se tratan como el mismo texto. Si en tu caso necesitas que la búsqueda sí sea sensible al uso de mayúsculas (por ejemplo, códigos internos donde “ABc1” y “abc1” son cosas distintas), puedes combinarla con la función IGUAL.
Una construcción muy útil es esta:
=BUSCARX(VERDADERO; IGUAL(E3; B3:B7); C3:C7)
Aquí, la función IGUAL compara el contenido de E3 con cada valor de B3:B7 y devuelve una matriz de VERDADERO o FALSO. Esa matriz sirve como matriz_buscada para BUSCARX, que va a buscar el primer VERDADERO y devolver el valor correspondiente de C3:C7. De este modo, solo hay coincidencia cuando el texto coincide carácter por carácter, respetando las mayúsculas.
Este enfoque funciona únicamente si B3:B7 se pasa como rango (matriz) a IGUAL, ya que la función devuelve a su vez un resultado de matriz que alimenta directamente a BUSCARX, permitiendo una coincidencia sensible a mayúsculas/minúsculas sin fórmulas excesivamente complejas.
Coincidencias parciales con BUSCARX: comodines y funciones de búsqueda de texto
Muchas veces no conoces el texto completo que quieres buscar, sino solo una parte: un fragmento del nombre de un producto, un código parcial, una abreviatura, etc. BUSCARX permite este tipo de coincidencia parcial usando comodines o bien combinada con funciones como HALLAR o ENCONTRAR.
La opción más sencilla es aprovechar el modo_de_coincidencia = 2, que activa la coincidencia de comodines. Un ejemplo típico sería:
=BUSCARX(«*» & E3 & «*»; B3:B7; C3:C7;; 2)
El carácter * significa “cualquier cadena de cualquier longitud”. Al colocarlo al principio y al final, estarás buscando cualquier texto que contenga la secuencia que hay en E3 en cualquier parte de la celda de B3:B7. Por ejemplo, si E3 contiene “RS”, se localizarán textos como “CURSO RS”, “MRS40” o similares, dependiendo de lo que haya en la matriz_buscada.
Otra técnica es usar la función HALLAR, que localiza la posición de un texto dentro de otro sin distinguir mayúsculas/minúsculas. Combinada con ESNUMERO, puedes convertir ese resultado de posición en un VERDADERO/FALSO que alimente a BUSCARX:
=BUSCARX(VERDADERO; ESNUMERO(HALLAR(E3; B3:B7)); C3:C7;; 2)
Aquí HALLAR devuelve un número de posición si encuentra el texto de E3 dentro de cada elemento de B3:B7, o bien un error si no lo encuentra. Después, ESNUMERO se encarga de convertir cada número en VERDADERO y cada error en FALSO. Esa matriz de booleanos se usa como matriz_buscada, de forma que BUSCARX buscará el primer VERDADERO y devolverá la coincidencia parcial encontrada.
Si necesitas una coincidencia parcial que sí distinga mayúsculas y minúsculas, puedes sustituir HALLAR por ENCONTRAR, que funciona igual pero es sensible a las mayúsculas:
=BUSCARX(VERDADERO; ESNUMERO(ENCONTRAR(E3; B3:B7)); C3:C7;; 2)
De esta manera, solo se considerará coincidencia parcial cuando el fragmento E3 aparezca dentro del texto de B3:B7 con la misma combinación de mayúsculas y minúsculas.
Coincidencia parcial “exacta” de palabras completas con BUSCARX
Las técnicas anteriores de coincidencia parcial tienen un pequeño punto débil: no son capaces de distinguir una palabra completa de una coincidencia “dentro” de otra palabra. Por ejemplo, el patrón «EPA» puede coincidir tanto con la palabra independiente «EPA» como con la secuencia «epa» dentro de «Separate» según el idioma.
Cuando quieres que BUSCARX solo detecte palabras completas en una frase, una estrategia eficaz consiste en añadir espacios alrededor del valor de búsqueda y también alrededor del texto del rango. Por ejemplo:
=BUSCARX(«* » & E3 & » *»; » » & B3:B7 & » «; C3:C7;; 2)
En esta variante, se añaden espacios al principio y al final tanto del valor de búsqueda como de cada elemento de B3:B7. De esta forma, al buscar con comodines, BUSCARX sólo encontrará coincidencias donde la secuencia de E3 aparezca como una palabra delimitada por espacios, minimizando falsos positivos dentro de otras palabras más largas.
Problemas comunes con BUSCARX al trabajar con texto: espacios sobrantes
Uno de los errores más habituales al trabajar con texto en BUSCARX no tiene que ver con la lógica de la fórmula, sino con espacios extra “invisibles” en los datos. Estos espacios se tratan como parte del texto, de modo que “Sub 2” y “Sub 2” (con dos espacios) no son iguales, y la búsqueda falla aunque a simple vista parezcan idénticos.
Para evitar estos problemas, conviene asegurarse de que no haya espacios no deseados ni en valor_buscado ni en la matriz_buscada. Si detectas que los datos pueden venir con espacios sobrantes (por ejemplo, de una importación), lo más práctico es combinar BUSCARX con la función ESPACIOS, que se encarga de limpiar el texto.
Una fórmula típica para limpiar tanto el criterio como la columna de búsqueda sería:
=BUSCARX(ESPACIOS(E3); ESPACIOS(B3:B7); C3:C7)
La función ESPACIOS reduce los espacios consecutivos entre palabras a un solo espacio y elimina los espacios al principio y al final del texto. Aplicándola de forma sistemática en el valor de búsqueda y en la matriz donde se busca, minimizas los errores #N/A debidos a formatos de texto sucios y consigues que BUSCARX trabaje con cadenas comparables de manera mucho más robusta.
Dominar BUSCARX en Excel, Google Sheets e incluso en entornos como BigQuery supone ganar mucha agilidad al manejar información: puedes localizar datos precisos o aproximados, trabajar con varias salidas a la vez, gestionar mejor los “no encontrados” y montar búsquedas complejas con texto, comodines y sensibilidad a mayúsculas sin recurrir a fórmulas enrevesadas. Con una buena combinación de sus argumentos y algunas funciones auxiliares como IGUAL, HALLAR, ENCONTRAR o ESPACIOS, se convierte en una herramienta muy potente para cualquier usuario que quiera dejar de pelearse con BUSCARV y pasar a un nivel mucho más flexible y cómodo.
Apasionado de la tecnología desde pequeñito. Me encanta estar a la última en el sector y sobre todo, comunicarlo. Por eso me dedico a la comunicación en webs de tecnología y videojuegos desde hace ya muchos años. Podrás encontrarme escribiendo sobre Android, Windows, MacOS, iOS, Nintendo o cualquier otro tema relacionado que se te pase por la cabeza.
