VSTACK HSTACK这两个函数和前几天讲过的TOCOL、TOROW,以及CHOOSECOLS和CHOOSEROWS都是属于兄弟函数,同类别的,只需要掌握其中一个,基本上就掌握了两个,Excel中不光光是365版本新函数这样,老版本也有很多这样的,如ROW 和COLUNMS、LEN和LENB等;
函数参数:
=HSTACK(array1,[array2],...);
=VSTACK(array1,[array2],...);
从参数中可以发现,HSTACK是按顺序水平追加数组,以返回更大的数组,VSTACK按顺序垂直追加数组,以返回更大的数组。理解一个为水平方向的合并,一个是垂直方向的合并,而且两边的合并的大小范围要一致,如果不一致就会返回在不一致的地方返回#N/A;
基础用法
如果上面的文字难以理解,用实际数据来理解,有3个表(为了截图方便显示在一个区域),录入函数:=VSTACK(A1:B8,D2:E5,G2:H6),后得到一个新的表格区域,把表1到表3红框处以垂直方向累加起来了;这就是
VSTACK按顺序垂直追加数组,以返回更大的数组。其中的更大数组就是下图中的表4;
一样有3个表(为了截图方便显示在一个区域),录入函数:
=HSTACK(A1:B8,D1:E5,G1:H6),后得到一个新的表格区域,把表1到表3红框处以水直方向累加起来了;这就是HSTACK是按顺序水平追加数组,以返回更大的数组,其中的更大数组就是下图中的表4;这里发现有错的原因是因为水平方向高度不一致,对于不一致的地方返回错误值;
只需要把函数HSTACK的区域调整成一致后,录入函数:=HSTACK(A1:B8,D1:E8,G1:H8),就得到正确的结果了;如果只是单单的合并区域,这个函数看不出有什么特别,如果在一些多表查询、多表汇总中就可以返回非常大的优势了;
多表查询
同样有一组数据,放在不同的页面,如菜单1、菜单2,此时需要设计一个查询系统,录入查询的编号就可以查询出对应菜名、进货单价、售价;如果你会VLOOKUP函数的话,想到肯定是先查1表,1表找不到,找2表这样的思路,这里只有2个表,就可以用以下图表中的公式,如果3个表以上呢?需要写多次嵌套了,公式会非常长,而且不能一个公式搞定;
换成新函数的思路就比较简单了,无论有多少个区域,先把需要查询的区域合并起来就行了,生成一个大的垂直区域,录入函数:
=VSTACK(A2:A10,F2:F10),作为XLOOKUP的第2参数
=VSTACK(B2:D10,G2:I10),作为XLOOKUP的第3参数
通过下图可以看到,是一个区域
我们录入函数:
=XLOOKUP(A14,VSTACK(A2:A10,F2:F10),VSTACK(B2:D10,G2:I10)),一个公式就把想要的结果全部查询出来了,XLOOKUP支持批量返回;甚至我们标题都可以不用输入,再加一层就可以把标题也直接用一个动态数组生成;
录入函数:
=VSTACK(G1:I1,XLOOKUP(A14,VSTACK(A2:A10,F2:F10),VSTACK(B2:D10,G2:I10))),就形成一框框处的动态数组结果区域,所以VSTACK还有一功能就是加标题,需要加标题就用VSTACK;
多表求和
同样有一系列报表,每张报表的标题列都是一致的,但是内容不一样,需要对多张报表中的数据进行汇总求和,如下图表1到表6分别有不同家电的销量,需要汇总家电名称的汇总销量;
对于这样报表,不会函数的解法就是把多张表,一张表一张表的合并,合并起来再把产品列复制出来去重复,再用SUMIFS函数汇总,其实这个思路非常正确,转成函数就这样
步骤1:合并多表数据,因为不知道每张表的行数是多少,所以可以把行的范围拉大一点,录入函数:
=VSTACK('3.1'!A1:C1,'3.1:3.6'!A2:C48),第一个范围区域是3.1表的标题,第二个参数表示3.1到3.6表中所有A2到C48的范围全部,这样通过VSTACK函数就合并到一起来了,有了这个区域,再汇总求和就不是问题了;
E1=FILTER(UNIQUE(B:B),UNIQUE(B:B)0),对B列去重复,再筛选不为0的值;
F1=VSTACK(C1,SUMIFS(C:C,B:B,E2:E7)),根据E列的条件汇总C列的销量;
可以看到,用VSTACK汇总多表、多区域进行统计、求和、引用的时候毫无压力,特别是可以合并成一个公式,再配合LAMBDA自定义函数,非常高效,如需要转成一个公式,录入函数:
=VSTACK({"产品","数量"},HSTACK(DROP(FILTER(UNIQUE(B:B),UNIQUE(B:B)0),1),SUMIFS(C:C,B:B,DROP(FILTER(UNIQUE(B:B),UNIQUE(B:B)0),1))))
我是古哥:
从事制造行业18年,在企业运营、供应链管理、智能制造系统等方面具有丰富的实战经验。企业智能化,柔性化计划运营管理专家,擅长通过企业流程优化规范,企业管理、导入计划运营提升企业效率;对提高企业准时交货率,降低企业库存,输出智能制造人才有丰富的经验。学习PMC生产计划,关注古哥计划!
领取专属 10元无门槛券
私享最新 技术干货