Cómo usar la función BUSCARX en Excel

¿Qué pasaría si tenemos la posibilidad de juntar en una sola función BUSCARV, BUSCARH e INDICE y COINCIDIR?

Aparece la función BUSCARX.

La función BUSCARX está a partir de la versión de Excel 365 y su propósito es buscar un valor en un rango o una matriz, devolviendo un elemento.

Puede buscar de manera vertical u horizontal, hacia la izquierda o hacia la derecha, así como también, puede realizar una búsqueda exacta o aproximada.

Mira este video en el que te explico cómo BUSCARX vino a reemplazar todas las funciones de búsqueda.

 

Descarga la plantilla utilizada en el video aquí

 

Explicación

Sintaxis:

=BUSCARX(valor_buscado; matriz_buscada; matriz_devuelta; [si_no_se_encuentra]; [modo_de_coincidencia]; [modo_de_búsqueda])


Donde encontramos:

  1. valor_buscado: Correspondiente al valor que estamos buscando.

  2. matriz_buscada: El rango donde está ese valor que buscamos

  3. matriz_devuelta El rango del cual queremos que devuelva el resultado

 
Los últimos 3 argumentos son opcionales, donde encontramos:
 
4.      [si_no_se_encuentra]

5.      [modo_de_coincidencia]

6.      [modo_de_búsqueda]
 
Estos tres últimos argumentos los veremos en mayor detalle conforme vamos avanzando en la aplicación práctica de la función.

 

Ejemplo 1 de aplicación BUSCARX: búsquedas simples.

Tenemos que elaborar una base de datos de productos donde figure el código, el nombre del producto, el precio, el impuesto y el stock. Sin embargo, toda la información se encuentra almacenada en distintas hojas del libro, por lo que precisamos consolidar todo en la hoja “Lista de productos”.

buscarx

BUSCARX

Lo primero que haremos será traer el nombre de los productos, los cuales se encuentran en la hoja “Precios”, y la búsqueda la haremos a partir del código que figura en la columna B de la hoja “Lista de productos”:

=BUSCARX(B9;Precios!$C$6:$C$44;Precios!$D$6:$D$44)

 

BUSCARX en Excel

 

Analicemos en detalle la aplicación de la función BUSCARX:

  • En valor_buscado indicamos el valor que disponemos para hacer la búsqueda, por tanto, señalamos la celda que contiene el primer código (celda B9).

  • En matriz_buscada indicamos el rango donde se encuentra el valor que estamos buscando, es por ello, que nos dirigimos a la hoja “Precios” y seleccionamos el rango $C$6:$C$44 (columna “CÓDIGO”) y lo dejamos con referencia absoluta.

  • En matriz_devuelta indicamos el rango de los valores que queremos obtener, vale decir, los nombres de los productos, por consiguiente, nuevamente nos dirigimos a la hoja “Precios” y seleccionamos el rango $D$6:$D$44 (columna “PRODUCTO”) y lo dejamos con referencia absoluta.

 

En esta ocasión, no precisamos utilizar los argumentos opcionales de la función BUSCARX, por lo que cerramos paréntesis.

Como resultado obtendremos el primer nombre del producto, luego solo basta copiar hacia abajo para traer los nombres restantes.

Beneficio #1 

Si precisamos efectuar búsquedas simples como la anterior, con BUSCARX solo bastará que indiquemos 3 argumentos y rápidamente obtendremos los resultados esperados.

 

Ejemplo 2 de aplicación BUSCARX: búsquedas hacia la izquierda.

Ahora, debemos traer la información referente a la categoría de cada producto desde la hoja “Precios”, y si nos fijamos, dichos datos se encuentran a la izquierda de los códigos.

BUSCARX hacia la izquierda

Apliquemos la función BUSCARX:

=BUSCARX(B9;Precios!$C$6:$C$44;Precios!$B$6:$B$44)

 

BUSCARX hacia la izquierda

  • En valor_buscado indicamos el valor que disponemos para hacer la búsqueda, por tanto, señalamos la celda que contiene el primer código (celda B9).

  • En matriz_buscada indicamos el rango donde se encuentra el valor que estamos buscando, es por ello, que nos dirigimos a la hoja “Precios” y seleccionamos el rango $C$6:$C$44 (columna “CÓDIGO”) y lo dejamos con referencia absoluta.

  • En matriz_devuelta indicamos el rango de los valores que queremos obtener, vale decir, las categorías, por consiguiente, nuevamente nos dirigimos a la hoja “Precios” y seleccionamos el rango $B$6:$B$44 (columna “CATEGORÍA”) y lo dejamos con referencia absoluta.

 

Como resultado obtenemos la categoría a la que pertenece el primer producto, solo resta copiar hacia abajo para obtener las restantes, y listo.

Comúnmente cuando nos enfrentábamos a búsquedas hacia la izquierda no podíamos utilizar BUSCARV recurriendo a INDICE y COINCIDIR pero implicaba anidar funciones lo cual es más complejo.

Beneficio #2

BUSCARX nos proporciona una excelente solución para búsquedas hacia la izquierda sin necesidad de recurrir a funciones que deben anidarse.

 

Ejemplo 3 de aplicación BUSCARX: búsquedas del valor más reciente.

Necesitamos traer los precios de cada producto, sin embargo, un mismo producto tiene más de un precio, y esto es porque los precios están dados por distintas fechas (ordenadas de la más antigua a la más reciente), y para el caso de nuestra base de datos, precisamos el precio más actualizado:

BUSCARX ultimo valor

Apliquemos la función BUSCARX:

=BUSCARX(B9;Precios!$C$6:$C$44;Precios!$F$6:$F$44;;;-1)

BUSCARX valor reciente

  • En valor_buscado indicamos el código (celda B9).

  • En matriz_buscada indicamos el rango donde se encuentra el valor que estamos buscando y seleccionamos el rango $C$6:$C$44 (columna “CÓDIGO”) y lo dejamos con referencia absoluta.

  • En matriz_devuelta indicamos el rango de los valores que queremos obtener, vale decir, los precios y seleccionamos el rango $F$6:$F$44 (columna “PRECIOS”) y lo dejamos con referencia absoluta.

  • En [si_no_se_encuentra] y [modo_de_coincidencia] no indicamos nada, dado que estos argumentos no los precisamos para este caso.

  • En [modo_de_búsqueda] debemos indicar el orden en queremos que se haga la búsqueda. Donde:

    • 1: Se hace la búsqueda desde el primer al último dato (si no se indica el modo de búsqueda, en forma predeterminada la función realiza la búsqueda de esta forma)

    • -1: Del último al primer dato

    • 2: Búsqueda binaria en orden ascendente

    • -2: Búsqueda binaria en orden descendente.

Como precisamos que la búsqueda nos traiga la fecha más reciente, debemos hacerla desde el último al primer dato, por tanto, indicamos -1, y cerramos la función.

Con BUSCARV no teníamos la posibilidad de buscar el valor más reciente, dado que esta función siempre nos traerá la primera ocurrencia del dato buscado, por tanto,

Beneficio #3

BUSCARX nos facilita la tarea cuando precisamos localizar datos que constantemente se van actualizando y agregando dentro de una lista.

 

Ejemplo 4 de aplicación BUSCARX: búsquedas con coincidencia aproximada (sin ordenar datos).

Ahora, debemos traer el impuesto correspondiente a cada producto en función de su precio, el cual está dado de la siguiente forma:

  • Si el precio es hasta $150, el impuesto será 0%

  • Si el precio está entre $151 y $250 inclusive, el impuesto será del 2%

  • Si el precio está entre $251 y $350 inclusive, el impuesto será del 3%

  • Finalmente, si el precio está entre $351 y $450 inclusive, el impuesto será del 4%

Si nos vamos a la hoja “Precios” donde se encuentra la tabla que agrupa los porcentajes de impuestos, veremos que se muestran con los límites superiores para cada rango impositivo:

BUSCARX aproximada

Apliquemos la función BUSCARX

=BUSCARX(E9;Precios!$I$6:$I$9;Precios!$J$6:$J$9;;1;)

 

BUSCARX APROXIMADO

  • En valor_buscado seleccionamos el precio (celda E9) de la hoja “Lista de productos”.

  • En matriz_buscada seleccionamos el rango $I$6:$I$9 (columna “HASTA”) de la hoja “Precios” y lo dejamos con referencia absoluta.

  • En matriz_devuelta seleccionamos el rango $J$6:$J$9 (columna “IMPUESTO”) de la hoja “Precios” y lo dejamos con referencia absoluta.

  • En [si_no_se_encuentra] lo dejamos vacío.

  • En [modo_de_coincidencia] aquí debemos indicar el tipo de búsqueda que necesitemos: Como los impuestos se muestran con los rangos superiores, debemos señalar 1, para que así la búsqueda del valor sea exacta, y si no lo encuentra, que busque el valor más alto cercano.

  • En [modo_de_búsqueda] no indicamos nada, dado que no lo precisamos para este caso.

 

Beneficio #4

Con esta aplicación, podemos evidenciar dos grandes diferencias con BUSCARV:

  • Cuando precisamos utilizar BUSCARV aproximado, siempre debemos previamente ordenar los datos desde el límite inferior, de caso contrario, la función no arroja resultados. Con BUSCARX podemos hacerlo desde el límite inferior o superior, solo basta cambiar el argumento [modo_de_coincidencia] y listo.

  • Con BUSCARV aproximado las escalas deben estar ordenadas de menor a mayor, de caso contrario, la función no operará correctamente. En cambio, con BUSCARX la lista de datos puede estar desorganizada y aun así obtendremos los resultados esperados.

 

Ejemplo 5 de aplicación BUSCARX: búsquedas horizontales.

Ahora, solo nos resta completar la columna “STOCK”, y dicha información se encuentra en la hoja con el mismo nombre, ordenada de forma horizontal por cada producto:

Apliquemos la función BUSCARX:

=BUSCARX(C9;Stock!$C$7:$O$7;Stock!$C$8:$O$8)

BUSCARX en lugar de BUSCARH

  • En valor_buscado seleccionamos el nombre del producto (celda C9) de la hoja “Lista de productos”.

  • En matriz_buscada seleccionamos el rango $C$7:$O$7 (fila “PRODUCTO”) de la hoja “Stock” y lo dejamos con referencia absoluta.

  • En matriz_devuelta seleccionamos el rango $C$8:$O$8 (fila “STOCK”) de la hoja “Stock” y lo dejamos con referencia absoluta.

Cerramos la función y vemos como nos trae la cantidad disponible del primer producto, copiamos hacia abajo para obtener las cantidades restantes.

Beneficio #5

Aquí se evidencia que BUSCARX es una función sumamente versátil, dado que podemos hacer búsquedas en rangos que se encuentren ordenados tanto horizontal como verticalmente de forma sencilla y práctica.

 

Ejemplo 6 de aplicación BUSCARX: control de valores no encontrados.

Imaginemos que realizamos un buscador rápido de productos. Si escribimos el nombre de un producto y no lo encuentra normalmente obtendremos el error de #N/D o #N/A de no disponible.

BUSCARX manejo de errores

Pero con BUSCARX podemos determinar que sucede sino encuentra el valor sin la necesidad de anidarla con la función SI.ERROR. Para eso debemos completar el 4to argumento de la función.

=BUSCARX(C5;C9:C22;E9:E22;"Este producto no se encuentra en la base")

 

BUSCARX manejo de errores

 

Beneficio #6

Con BUSCARV, BUSCARH, INDICE y COINCIDIR lo que debíamos hacer era anidar la función SI.ERROR al principio de cada función para manejar los errores, sin embargo, ahora con BUSCARX podemos incorporar inmediatamente ese control, haciendo que la función sea más acotada y más clara para su interpretación.

 

Espero que utilices esta nueva función de búsqueda que viene a reemplazar a las funciones anteriores.


¡Saludos!

Cecilia - www.planillaexcel.com


PD: si quieres aprender más de Excel, dicto cursos online desde el nivel básico a avanzado.
Haz click aquí para ver los cursos.