Rango de búsqueda dinámico para BUSCARV usando INDIRECTO en Excel

Buscar valores en rangos de búsqueda dinámicos usando BUSCARV e INDIRECTO en Excel

Como hemos visto a lo largo de varios artículos sobre BUSCARV, que por mucho es una función imprescindible que nos saca de muchos apuros.

En base a una consulta en el Blog, este artículo trata sobre tener un rango de búsqueda dinámico si es que el BUSCARV lo deseamos aplicar buscando en distintas hojas o tablas.

Cómo funciona

Tenemos un archivo con 4 hojas. En la primera hoja tenemos un formulario de búsqueda en el cual contamos con una lista de validación la cual despliega 3 ítems los cuales serán las otras 3 hojas donde tenemos datos.

BUSCARV en Excel

Figura 1. Formulario con lista de validación.

Ver Video Buscar valores en rangos de búsqueda dinámicos usando BUSCARV e INDIRECTO

Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.

Dando nombres a los rangos de búsqueda

Deberemos de asignar un nombre de rango a cada uno de los rangos de búsqueda que tenemos en las 3 hojas llamadas de datos.

Para eso, nos vamos a la hoja Base y elegimos el rango B1:K23. Sin dejar de selecciona el rango damos click en la opción Asignar nombre de la pestaña Fórmulas. En el TexBox Nombre escribimos Base. Hacemos el mismo procedimiento en el resto de las hoja asignando los nombres de Base2 y Base3 según corresponda.

Asignar nombre a rango en Excel

Figura 2. Asignar nombre a rango de Excel.

Lista de validación que muestre las 3 tablas

Como tenemos 3 posibles rangos de búsqueda lo ideal es poder elegimos mediante una lista. La lista quedará en la celda G9 de la hoja Formulario. Elegimos dicha celda y nos vamos a Validación de datos de la pestaña Datos.

Estando en el formulario que se muestra, seleccionamos Lista en la sección Permitir. En Origen vamos a ingresar el texto Base,Base2,Base3 que son los 3 nombres de rangos.

Validación de datos en Excel

Figura 3. Lista de validación en Excel.

Usar indirecto para rango de búsqueda dinámico

Ahora sí viene lo interesante. Recordemos los parámetros de la función BUSCARV:

  1. valor_buscado.
  2. matriz_buscar_en.
  3. indicador_columnas.
  4. ordenado (opcional).

Para el primer parámetro usaremos el texo que se ingrese en la celda D9, pero para que haga una búsqueda parcial de datos usamos el comodín ( * ). El parámetro queda como “*”&D9&”*”. Para el parámetro de la matriz usamos la función INDIRECTO para tomar el nombre que esté en la celda G9 el cual ya vimos que es el nombre de los rangos, quedando así INDIRECTO($G$9). El indicador de columnas dependerá del datos que querramos devolver.

La fórmula completa queda así:

=SI.ERROR(BUSCARV(“*”&D9&”*”,INDIRECTO($G$9),5,0),”-“)

BUSCARV con INDIRECTO para rango dinámico

Figura 3. Parámetros de la función BUSCARV.

Seguro de interesa

Artículos sobre BUSCARV

Validación de datos

Anexos

:: Descarga el ejemplo Rango de búsqueda dinámico para BUSCARV usando INDIRECTO en Excel.rar

Si te gustó este tutorial por favor regístrate en nuestra Lista de correo y Suscríbete a nuestro canal de YouTube para que estés siempre enterado de lo nuevo que publicamos.

You may also like...