Documente Academic
Documente Profesional
Documente Cultură
Mtodo 1
Vamos a empezar con este captulo del manejo avanzado del argumento Matriz_buscar_en
de la funcin BUSCARV con una aplicacin que es muy til sobre todo para los que an no
estn muy familiarizados con la aplicacin de funciones como DESREF o INDIRECTO
que ya vimos en entregas anteriores. Tenemos la siguiente informacin:
Se trata de un pequeo sistema donde se puede realizar la consulta de varios aos para un
mismo mes sobre las ventas de 4 empresas para alguno de los tres productos que se tienen
en las bases de datos. Debido a que por cada producto hay una base de datos, es necesario
hacer un ajuste en la aplicacin de la funcin BUSCARV pues como sabemos, solo
podemos indicar un rango de celdas en el argumento Matriz_buscar_en, es decir, si
seleccionamos de la celda C6 el Producto1, entonces la funcin BUSCARV debe ir a
consultar la fecha indicada en la hoja Producto1; si el item seleccionado en la celda C6 es
Producto2 entonces la funcin BUSCARV debe ir a consultar la fecha en la hoja
Producto2.:
Para realizar esta configuracin, debemos combinar la funcin SI con la funcin
BUSCARV de la siguiente manera:
SI el texto en la celda C6 es igual a "Producto1", entonces realice la bsqueda de la
fecha en la hoja Producto1.
SI el texto en la celda C6 es igual a "Producto2", entonces realice la bsqueda de la
fecha en la hoja Producto2.
SI el texto en la celda C6 es igual a "Producto3", entonces realice la bsqueda de la
fecha en la hoja Producto3.
Se trata del mismo sistema de consulta que hemos estado utilizando en las entregas
anteriores donde podemos obtener de cualquier mes y cualquier ao que se encuentre
disponible, los datos de ventas de cuatro empresas para el PRODUCTO1 y solo el
PRODUCTO1. Sin embargo, en el libro de Excel que hemos estamos trabajando no solo
tiene la base de datos Producto1, tambin esta Producto2 y Producto3:
Vamos a ver en esta entrega como realizar una consulta a cualquiera de esta hojas pero no
de la forma como ya hicimos en una entrega pasada donde vimos cmo realizar una
bsqueda a 2 bases de datos mediante la aplicacin de la funcin condicional SI
(BUSCARV en dos matrices), esta vez lo vamos a realizar dinmicamente y para ello
vamos a utilizar las funciones INDIRECTO y CONCATENAR, veamos:
Observemos como es la estructura de la referencia Matriz de Bsqueda de la funcin
BUSCARV:
Esta referencia indica que la matriz de bsqueda se encuentra en la hoja Producto1 y el
rango es desde la celda $C$1:$G$97, as que la referencia completa es Producto1!
$C$1:$G$97 (no olvidemos el signo de admiracin ! que hay entre el nombre de la hoja y
el rango de celdas).
Ahora repasando un poco, recordemos que la funcin INDIRECTO nos ayuda a obtener el
valor de una celda a partir de las indicaciones de ubicacin o referencia. As que podemos
utilizar la celda B3 que es donde se encuentra la lista desplegable de Productos que
podemos consultar:
Con esto ya tenemos la primera parte de referencia que necesita la funcin BUSCARV en
la matriz de bsqueda. Ahora para la segunda parte de esta referencia, solo debemos utilizar
la funcin CONCATENAR para unir el producto seleccionado en la celda B3 de la lista
desplegable, con el rango de celdas $C$1:$G$97, es decir que debemos aplicar el siguiente
combo de funciones:
INDIRECTO(CONCATENAR($B$3,"!$C$1:$G$97")):
De esa manera estamos indicando que la matriz de bsqueda es el resultado que se obtiene
de unir el texto de la celda Producto1 con el texto "!$C$1:$G$97":
INDIRECTO(CONCATENAR($B$3,"!$C$1:$G$97")):
Y lo reemplazamos por las siguientes funciones:
CONTARA(INDIRECTO(CONCATENAR($B$3,"!$A:$A")))
Lo que estamos haciendo es indicando a Excel que cuente cuantas filas NO vacas (Funcin
CONTARA) hay en la columna A de la hoja cuyo nombre se seleccion en la celda B3.
La funcin completa quedara de la siguiente manera:
Y el resultado luego de replicar en todo el rango sera el siguiente:
De esta manera al ingresar nuevos registros en la base de datos no nos tenemos que
preocupar por ajustar el rango de celdas en la Matriz de bsqueda.