Vamos a ver un ejemplo, con la función VSTACK.
Tenemos una serie de hojas, cada hoja es de una provincia, todas las hojas, tienen la misma estructura, es la venta de productos, en diferentes centros comerciales, y, diferentes fechas, en la provincia de la hoja.
Nos piden, calcular el total de todos los centros comerciales, lo haremos en una hoja nueva.
El problema que se presenta es que tenemos cada provincia en una hoja, lo cual, dificulta la tarea.
En el nivel básico, vimos como podíamos seleccionar varias hojas, que es seleccionado la primera hoja a seleccionar, dejar pulsada la tecla SHIFT, y, hacer clic en la última hoja a seleccionar, de esta manera, quedan seleccionadas la primera, y, ultima hoja, además de las hojas que entre medio de ellas.
Pues, es el sistema, que vamos a utilizar, para este ejemplo.
En la celda B3, escribimos el signo igual, seguido de la función VSTACK, y, abrimos un paréntesis.
=VSTACK (
El primer argumento es, matriz1, pues hacemos clic en la primera hoja, dejamos pulsada la tecla SHIFT, y, hacemos clic en la última hoja a seleccionar.
Vemos en la sintaxis, que aparece el nombre de la primera hoja, junto con los dos puntos, y, el nombre de la última hoja, seguido del signo de exclamación.
=VSTACK (Albacete:Caceres!
Lo siguiente, es seleccionar el rango de rango de datos con el que vamos a trabajar, que es la columna de total, pues nos colocamos en la celda G22, y, pulsamos CTRL más cursor abajo, voy a poner que llegue hasta la fila 100, porque ninguna provincia, llega a esa fila.
=VSTACK (Albacete:Caceres!G2:G100
Cerramos paréntesis, y, aceptamos.
=VSTACK(Albacete:Caceres!G2:G100)
Obtenemos una matriz desbordada, con la columna total de todas las hojas.
Pero, como queremos el total, después del signo igual, usamos la función SUMA, y, tenemos el total de todas las hojas.
=SUMA(VSTACK(Albacete:Caceres!G2:G100))
Lo siguiente, que quiere este cliente, es un reporte, o, informe, de todas las provincias, pero, solo para el producto de aspiradora.
Lo, primero, que vamos a hacer, es con la función VSTACK, traernos los datos completos de cada hoja, para ello, escribimos el signo igual, seguido del nombre de la función, y, abrimos un paréntesis.
=VSTACK (
Como argumento, matriz1, seguimos el paso dado anteriormente, para traernos la columna de total de todas las hojas, aunque, debemos de cambiar el rango, como nos queremos traer todas las columnas, el rango debe de ser A2:A100.
=VSTACK(Albacete:Caceres!A2:G100)
Tenemos una matriz desbordada, de momento, con todos los datos.
Ya sabemos, que las matrices desbordadas, no copia los formatos.
Lo siguiente va a ser filtrar, para ello, vamos a hacer uso de la función FILTRAR.
Vamos a filtrar, la matriz desbordada devuelta, y, como argumento, include, de la función FILTRAR, filtramos por el producto, aspiradora, de todas las hojas.
La sintaxis, quedaría:
=FILTRAR(VSTACK(Albacete:Caceres!A2:G100);VSTACK(Albacete:Caceres!D2:D100)="Aspiradora")
Aceptamos, y, vemos la matriz desbordada, solo para el producto, aspiradora, de todas las provincias.
Lo siguiente que nos piden, es cuantas aspiradoras se han vendido en total, entre todas las provincias.
Pues, de esta matriz desbordada, debemos de quedarnos solo con la columna de producto, para después contarlos.
La expresión que hemos usado anteriormente, para obtener la matriz desbordada:
=FILTRAR(VSTACK(Albacete:Caceres!A2:G100);VSTACK(Albacete:Caceres!D2:D100)="Aspiradora")
Vamos a filtrarla de nuevo, para ello, después del signo igual, volvemos a poner la función FILTRAR, como argumento array, es la expresión anterior, y, como argumento include, vamos a usar una constante de matriz, donde como separador, usamos la barra invertida (\), porque los datos están en columnas, tenemos siete columnas, pues, ponemos cero, donde no queremos que dicha columna aparezca, y, uno, donde queremos que aparezca, como solo necesitamos la columna de producto, solo debemos de poner un 1, el resto serán ceros, quedaría de la siguiente manera:
=FILTRAR(FILTRAR(VSTACK(Albacete:Caceres!A2:G100);VSTACK(Albacete:Caceres!D2:D100)="Aspiradora");{0\0\0\1\0\0\0})
Aceptamos, y, tenemos una matriz desbordada solo con la columna de productos.
Lo siguiente es usar la función CONTARA, para que nos haga el recuento.
=CONTARA(FILTRAR(FILTRAR(VSTACK(Albacete:Caceres!A2:G100);VSTACK(Albacete:Caceres!D2:D100)="Aspiradora");{0\0\0\1\0\0\0}))
Tenemos 212 aspiradoras, vendidas en todos los centros comerciales.
Comentários