Función BUSCARX

Por el equipo editorial de LogicExcelActualizado en junio de 202610 min de lectura1,990 palabras

Try this now

XLOOKUP is the modern way to look up a value. Find the price of the product in D2 by typing =XLOOKUP(D2,A2:A5,B2:B5) in E2.
ABCDE
1ProductPriceLookupResult
2Apple30Cherry
3Banana20
4Cherry50
5Date80
E2fx

Continue the full lesson →

La función BUSCARX de Excel

La función BUSCARX de Excel es relativamente nueva: llegó con Excel 365. Se parece a BUSCARV y a BUSCARH, pero es más simple y más flexible. Por ejemplo, mientras que BUSCARV solo puede buscar valores a la derecha de la columna de búsqueda, BUSCARX busca a izquierda o derecha y con menos argumentos. Además, aunque BUSCARX solo tiene tres argumentos obligatorios, cuenta con otros opcionales para ajustarla a lo que necesites.

Sintaxis de la función BUSCARX

Como decíamos, BUSCARX tiene tres argumentos obligatorios y tres opcionales. Estos son:

=BUSCARX(valor_buscado; rango_de_búsqueda; rango_de_retorno; [si_no_se_encuentra]; [modo_de_coincidencia]; [modo_de_búsqueda])

  • valor\_buscado (obligatorio): el valor que le das a BUSCARX y con el que localizará la posición del valor que quieres que devuelva.
  • rango\_de\_búsqueda (obligatorio): el rango de celdas donde vive el valor_buscado.
  • rango\_de\_retorno (obligatorio): el rango de celdas que contiene el valor que quieres que BUSCARX devuelva.
  • si\_no\_se\_encuentra (opcional): el valor que devolverá BUSCARX si no encuentra una coincidencia válida. Por defecto, en ese caso devuelve #N/D.
  • modo\_de\_coincidencia (opcional): indica qué hacer si Excel no encuentra una coincidencia exacta; puede buscar el siguiente valor más alto o el siguiente más bajo. Aquí también se activa la búsqueda con comodines.
  • modo\_de\_búsqueda (opcional): indica si BUSCARX debe buscar de izquierda a derecha (de arriba abajo) o de derecha a izquierda (de abajo arriba).

Ejemplo de BUSCARX en Excel: búsqueda vertical

Este primer ejemplo es una búsqueda vertical, parecida a lo que se hace tradicionalmente con BUSCARV. Imagina que tienes esta tabla y quieres saber en cuántas escenas apareció Dwight.

ABCD
1PersonajeEpisodiosEscenas
2Michael1373033
3Dwight1862367
4Jim1852150
5Pam1821922
6Andy1441341
Usarías esta fórmula BUSCARX:
=BUSCARX("Dwight"; A:A; C:C)

O bien:

=BUSCARX("Dwight"; A2:A6; C2:C6)

Esta fórmula devolvería 2367, porque es la celda del rango de retorno que se corresponde (ocupa la misma posición) con el valor buscado dentro del rango de búsqueda. Recuerda que "Dwight" va entre comillas porque los valores de texto en Excel tienen que ir entrecomillados.

Usar BUSCARX para buscar de derecha a izquierda

Recuerda que, a diferencia de BUSCARV, la función BUSCARX puede buscar de derecha a izquierda. Con la misma tabla del ejemplo anterior, imagina que sabes que uno de los personajes apareció en 185 episodios y quieres averiguar cuál es.

=BUSCARX(185; B:B; A:A)

Esta fórmula devuelve "Jim" porque la celda que contiene "Jim" en el rango de retorno (A:A) ocupa la misma posición que la celda con el 185 en el rango de búsqueda (B:B). Da igual que busques de izquierda a derecha o al revés.

Ejemplo de BUSCARX en Excel: búsqueda horizontal

BUSCARX también sirve para búsquedas horizontales, como las que tradicionalmente se hacían con BUSCARH. Fíjate en esta tabla e imagina que quieres saber la ciudad de nacimiento de Lil Wayne.

ABCDE
1Snoop DoggTupacJay-ZLil Wayne
2NombreCalvinTupacShawnDwayne
3Año de nacimiento1971197119691982
4Ciudad de nacimientoLong BeachNew YorkNew YorkNew Orleans
Usarías esta fórmula BUSCARX:
=BUSCARX("Lil Wayne"; 1:1; 4:4)

O bien:

=BUSCARX("Lil Wayne"; B1:E1; B4:E4)

La fórmula buscaría el valor "Lil Wayne" en la fila 1 y después iría a la fila 4 a por el valor correspondiente, que es "New Orleans".

Al contrario que BUSCARH, la función BUSCARX también puede buscar de abajo arriba. Por ejemplo, imagina que quieres saber qué rapero nació en 1969. Podrías usar esta fórmula:

=BUSCARX(1969; 3:3; 1:1)

O bien:

=BUSCARX(1969; B3:E3; B1:E1)

Estas fórmulas buscarían el valor 1969 en la fila 3 y devolverían el valor de la celda correspondiente de la fila 1, que es "Jay-Z".

Errores de BUSCARX en Excel

Estos son algunos de los errores que puedes encontrarte al usar BUSCARX, con consejos para resolverlos.

Error \#¡VALOR! con BUSCARX

La función BUSCARX devuelve el error #¡VALOR! cuando el rango de búsqueda y el de retorno son incompatibles. Suele pasar porque los dos rangos tienen tamaños o formas distintas. Volvamos a la tabla de personajes de The Office.

ABCD
1PersonajeEpisodiosEscenas
2Michael1373033
3Dwight1862367
4Jim1852150
5Pam1821922
6Andy1441341
Imagina que consultamos los episodios de Pam con esta fórmula:
=BUSCARX("Pam"; A1:A6; B:B)

Devolvería el error #¡VALOR! porque el rango A1:A6 no tiene el mismo tamaño que el rango B:B. Para resolverlo, nos aseguramos de que los dos rangos tengan el mismo tamaño y las mismas dimensiones:

=BUSCARX("Pam"; A1:A6; B1:B6)

Error \#N/D con BUSCARX

La función BUSCARX devuelve el error #N/D cuando no encuentra el valor buscado dentro del rango de búsqueda. Por ejemplo, imagina que quieres que BUSCARX te devuelva el personaje que ha aparecido en 184 episodios.

ABCD
1PersonajeEpisodiosEscenas
2Michael1373033
3Dwight1862367
4Jim1852150
5Pam1821922
6Andy1441341
Usas esta fórmula:
=BUSCARX(184; B:B; A:A)

Devuelve el error #N/D porque el valor buscado (184) no existe en el rango de búsqueda (B:B).

Una forma de evitar el error #N/D es indicar el argumento si_no_se_encuentra. Es el cuarto argumento de BUSCARX, es opcional y le dice a la función qué valor devolver cuando el valor buscado no aparece en el rango de búsqueda.

=BUSCARX(185; B:B; A:A; "Personaje no encontrado")

Esta fórmula devolvería "Jim", porque 185 sí existe en el rango de búsqueda.

=BUSCARX(184; B:B; A:A; "Personaje no encontrado")

Esta devolvería "Personaje no encontrado", porque 184 no existe en el rango de búsqueda.

La otra forma de resolver el error #N/D es indicar un modo de coincidencia, como se explica abajo.

El modo de coincidencia de BUSCARX

La función BUSCARX admite un argumento opcional de modo de coincidencia, que es el quinto. Le dice a Excel qué hacer si BUSCARX no encuentra el valor buscado en el rango de búsqueda. Estos son los valores admitidos:

  • 0 (u omitido): devuelve #N/D (o el argumento si_no_se_encuentra) cuando no encuentra el valor
  • 1: coincide con el siguiente valor más alto si no encuentra el valor buscado
  • -1: coincide con el siguiente valor más bajo si no encuentra el valor buscado
  • 2: coincidencia con comodines
Por ejemplo, con la tabla de abajo, imagina que queremos el personaje que apareció en 184 escenas.
ABCD
1PersonajeEpisodiosEscenas
2Michael1373033
3Dwight1862367
4Jim1852150
5Pam1821922
6Andy1441341
=BUSCARX(184; B:B; A:A)

Si el modo de coincidencia se omite o vale 0, BUSCARX devolvería #N/D porque 184 no existe en el rango de búsqueda.

=BUSCARX(184; B:B; A:A; "Personaje no encontrado")

Esta fórmula devolvería "Personaje no encontrado", porque 184 no existe en el rango de búsqueda pero hemos indicado el argumento si_no_se_encuentra.

=BUSCARX(184; B:B; A:A; "Personaje no encontrado"; 1)

Aquí pasamos un 1 al modo de coincidencia, así que buscará el siguiente valor más alto, ya que 184 no existe. El siguiente valor más alto de B:B es 185, así que BUSCARX devolvería "Jim".

=BUSCARX(184; B:B; A:A; "Personaje no encontrado"; -1)

Aquí pasamos un -1, así que buscará el siguiente valor más bajo de B:B, que es 182. En ese caso, BUSCARX devolvería "Pam".

La función BUSCARX también admite comodines cuando el modo de coincidencia vale 2. Con los comodines de Excel, el asterisco (\*) sustituye a cualquier número de caracteres y el signo de interrogación (?) sustituye a uno solo.

=BUSCARX("M*"; A:A; C:C; "Personaje no encontrado"; 2)

Esta fórmula devolvería 3033, porque "M\*" coincide con "Michael" y devuelve el valor correspondiente del rango C:C.

El modo de búsqueda de BUSCARX

La función BUSCARX tiene un sexto y último argumento, opcional, llamado modo de búsqueda. Le dice a BUSCARX si tiene que buscar de arriba abajo o de abajo arriba (o de izquierda a derecha frente a derecha a izquierda en las búsquedas horizontales). Estos son los valores admitidos:

  • 1: empieza por el primer elemento. Es el valor predeterminado e indica a BUSCARX que busque de arriba (o izquierda) abajo (o derecha).
  • -1: empieza por el último elemento y va en orden inverso. Indica a BUSCARX que busque de abajo (derecha) arriba (izquierda).
  • 2: búsqueda binaria con los datos ordenados de menor a mayor (no la vemos en este tutorial).
  • -2: búsqueda binaria con los datos ordenados de mayor a menor (no la vemos en este tutorial).
Por ejemplo, imagina que tienes la tabla de raperos de abajo y quieres encontrar al que nació en 1971. Si te fijas, verás que hay dos nacidos en 1971.
ABCDE
1Snoop DoggTupacJay-ZLil Wayne
2NombreCalvinTupacShawnDwayne
3Año de nacimiento1971197119691982
4Ciudad de nacimientoLong BeachNew YorkNew YorkNew Orleans
=BUSCARX(1971; 3:3; 1:1; "Rapero no encontrado"; 0)

Aquí el modo de búsqueda se ha omitido, así que la fórmula devolvería "Snoop Dogg", porque BUSCARX empieza por el primer elemento de forma predeterminada. La primera celda que contiene 1971 es B3, así que el resultado es la celda correspondiente del rango de retorno, es decir, B1.

=BUSCARX(1971; 3:3; 1:1; "Rapero no encontrado"; 0; 1)

Esta fórmula da el mismo resultado, porque un modo de búsqueda de 1 le dice a BUSCARX que empiece por el primer valor, que es justo el comportamiento predeterminado.

=BUSCARX(1971; 3:3; 1:1; "Rapero no encontrado"; 0; -1)

Esta fórmula lleva un modo de búsqueda de -1, que le dice a BUSCARX que busque al revés, empezando por el último elemento. En este caso recorre la fila 3:3 de derecha a izquierda buscando el 1971, y la primera coincidencia está en la celda C3, así que BUSCARX devolvería "Tupac".

¡Sigue con los ejercicios de práctica de BUSCARX! →

Imágenes referenciadas

  • https://excelexercises.com/logo2.png
  • https://excelexercises.com/excel-functions/excelImages/logoGreenWhite.png

Enlaces internos a otros artículos

Sigue adelante

Te indica qué leer a continuación.