243 WPS 新函数 HSTACK 快速合并公式
优秀创作者
今日分享的WPS 新函数就是HSTACK这个函数,这个函数和VSTACK的功能差不多,就是合并数组,HSTACK这个函数是合并水平方向的,而VSTACK是垂直方向的。
函数说明:
在学习HSTACK前,先复习一下VSTACK,分别记住简写与参数,如下图所示:
函数名称: HSTACK;
函数说明: 返回通过以逐列方式拼接每个数组参数而形成的数组;
通俗说明:选中数据后按行(水平方向)合并。
函数参数: HSTACK (数组1,数组2,数组3……);
函数简写: 录入=HS,按下TAB键自动补全=HSTACK(
基本用法:
HSTACK的用法通俗点就是两块积木(数组)按水平方向拼结(合并),如下图中两个标记红色框区域的数组,通过HSTACK函数合并成一个全新的数组,只需要录入公式:
H3=HSTACK(C3:C5,F3:F5)
这就是HSTACK的最基本用法。了解了最基本用法,就可以开始学习高阶用法。
使用场景1:
HSTACK在古老师的日常使用中最高频的用法就是用来合并不同数组间的公式,使之成为一个区域动态数组,后续只需要更新此公式就可以实现一个区域更新。同时合并后的区域也可以作为二次引用的区域。
如何理解呢?以前几天的一维数组转二维数据汇总的案例来说明。下图中数据,我们需要录入两个函数:
E3 =UNIQUE(B3:B8),对D列数据删除重复项;
F3 =SUMIFS(C3:C8,B3:B8,E3#),对C列的数据求和,条件区域为B列,条件为E列;效果如下图,上面函数虽然实现了汇总求和,但如果需要引用此区域的话,就必须保留这个区域。
如果不想保留这个区域,还需要进行二次引用的话,就需要把上面两个公式合并,这样就可以以公式的形式作为引用区域。此时用HSTACK就可以派上用场了。
操作起来也相对简单,利用HSTACK的公式特性,就是HSTACK(公式1、公式2、公式3);把上面两个公式更改为:
H3=HSTACK(UNIQUE(B3:B8),SUMIFS(C3:C8,B3:B8,UNIQUE(B3:B8)))
这个公式就是把上面两个公式合并了,并扫水平方向重新构建了一个数组了。利用UNIQUE(B3:B8)这个特性,同时作为条件与参数共同构建。最终效果如下
使用场景2:
刚刚费了这样大的力气通过HSTACK把多个公式合并成一个公式到底有什么好处呢?
好处1:一个公式直接编辑修改,不需要编辑多个公式;
好处2:不用额外占用多余的列。
接下来用几个实际需求来解释一下上述的好处。
案例1:汇总表1中各车间的产量和,录入公式:
=VLOOKUP(E3,HSTACK(UNIQUE(B3:B8),SUMIFS(C3:C8,B3:B8,UNIQUE(B3:B8))),2,0),当然这个公式不是最优解,只是为说明HSTACK的功能。
最佳解法为:
=SUM(FILTER(C3:C8,B3:B8=E3))
案例1:动态标题1:
下图中是一个比较常见的一对多需求转换,表1中是工厂中零件对应工艺明细,现在需要做一个查询表,在红色框处零件查询零件,能够动态显示出工艺,而且标题随着工艺数自动变换。
录入函数:
F3=TOROW(FILTER(C3:C8,B3:B8=E3))
E2=HSTACK("查询零件","工艺"&SEQUENCE(,ROWS(FILTER(C3:C8,B3:B8=E3))))
这样就可以实现动态标题了,下图中可以看见,通过变换查询条件,标题是动态显示的。
函数释义:通过判断筛选查询条件的行数,用生成序号函数生产一组连续的数字,再用文本连接符号“&”连接文本“工艺”。最后用HSTACK,把标题(查询零件)也连接上去了。
创作者俱乐部成员
WPS函数专家
WPS函数专家