top of page
Foto del escritorJaime Franco Jimenez

Ejemplo de las funciones VSTACK, HSTACK, y, FILTER

Vamos a trabajar con el modelo que suelo usar habitualmente, ventas de productos en diferentes centros comerciales, provincias, y, fechas.


El modelo está en formato de tabla.


Lo primero, que vamos a hacer es crear una lista única de productos, para ello, vamos a hacer uso de la función UNICOS, en este caso, vamos a usar las funciones en inglés, para poder usar las nuevas funciones, entonces, UNICOS en inglés, seria UNIQUE.


Lo vamos a hacer en una hoja nueva.


Entonces, escribo el signo igual, seguido de UNIQUE, y, abrimos un paréntesis.


=UNIQUE(Table1[Producto])


Ya tenemos los productos únicos.











Lo siguiente va a ser calcular el total para cada producto, para ello, vamos a usar la función SUMAR.SI, que en inglés es SUMIF.


Como argumento rango, va a ser la columna de producto.


=SUMIF(


Como argumento criterio, va a ser los productos únicos, donde si seleccionamos el rango, vemos que se le añade el operador de rango derramado (#), también podemos escribir B3, y, manualmente añadir el operador de rango derramado.


=SUMIF(Table1[Producto];Sheet1!B3#;


Como argumento suma, va a ser la columna de total.


Cerramos paréntesis, y, aceptamos.


=SUMIF(Table1[Producto];Sheet1!B3#;Table1[Total])


Ya tenemos los totales por producto.









Ahora, queremos añadir una fila de total, después, de la última fila, podría poner después de la ultima fila ocupada, la palabra total, y, en la siguiente celda, calcular la suma, pero no seria dinámico, porque podemos añadir o quitar productos.


Debemos de trabajar con una sola matriz, una de las opciones es hacerlo con la función FILTRAR (FILTER), donde vamos a filtrar estas dos matrices derramadas, y, como argumento include, vamos a usar una constante de matriz, donde ponemos dos 1, separado por la barra invertida, ya que están en columnas, por supuesto, entre llaves.


=FILTER(B3:C7;{1\1})


Ahora, las dos matrices, son una.


Lo siguiente va a ser traernos dentro de esta matriz desbordada, los encabezados, para ello, tenemos que hacer uso de la función VSTACK.


Ya usamos la función FILTRAR (FILTER), para unir ambas matrices desbordadas.


=FILTER(B3:C7;{1\1})


Ahora, después, del signo igual, ponemos la función VSTACK, que nos va a unir diferentes matrices, en una sola, en vertical, pues para la primera matriz, señalamos los encabezados, y, para la segunda matriz, dejamos la función FILTER.


=VSTACK(B2:C2;FILTER(B3:C7;{1\1}))


Vemos come se han añadido los encabezados.










Lo siguiente va a ser añadir la fila de total, en este caso, debemos de crear una matriz desbordada, con la palabra total, y, la suma de las cantidades, para ello, vamos a usar la función HSTACK.


Hagámoslo en una celda, si escribo la siguiente sintaxis:


=HSTACK("Total";SUM(C3#))


Obtengo dicha matriz.




Pues, esta función, se lo vamos a añadir a la función VSTACK, como ultimo argumento.


=VSTACK(B2:C2;FILTER(B3:C7;{1\1});HSTACK("total";SUM(C3#)))


Ya tenemos nuestra matriz desbordada con los encabezados, y, la fila de total, que ya seria de forma dinámica.












9 visualizaciones0 comentarios

Entradas Recientes

Ver todo

Comments


bottom of page