该功能最大的好处是可以将多个表之间的数据合并,创建一个新的数组,实现统一,进而实现后续的数据分析需求,如将多个表更改为一个表查询、一个表统计、一个表和。 附带的功能就是hstack,这个功能也很强大,所以顾先生今天就要单独详细讲解一下。
函数名称:vstack;
函数说明:返回一个由每个数组参数以递进方式拼接而成的数组;
通俗地说,选择数据并按列(垂直)合并它们。
函数参数:vstack(数组 1、数组 2,......
函数缩写:输入=vs,按tab键自动完成=vstack(
合并并输入同一个表:=vstack(b3:c5,e3:f5)。
函数定义:数组 1:b3:c5(蓝色区域)和数组 2:e3:f5(红色区域),这两个区域通过函数 vstack 合并成垂直方向 h3:i8(如下图所示)。
合并同一表的不同页面上的条目:
顺序公式:=vstack('2.基本表 1:2基本表3'!B3:C5) 表(如果连续推荐)。
表不连续性:=vstack('2.基本表1'!b3:c5,'2.基本表2'!b3:c5,'2.基本表3'!b3:c5),也为每个页面单独选择。
功能说明:本工作表共3页,分别是:基本表1、表2、表3,如果表是连续的,可以使用符号“:”批量选择所有页面。
鼠标选择技巧:单击表1中的第一个单元格,然后按住shift键到最后一个表(本例中为表3),选择需要合并的多个表。
直接写:以这种格式”。'起始表:结束表'!参考区域“一次选择多个表。
效果如下图所示:
工作场景:在工厂中,有不同的装配车间,每个装配车间都有一个生产**,输入每个工单的完工数量,虽然每个工单的格式是一样的,但是因为工单分布在不同的工作表中,所以当你需要查询时,如果没有这样的功能,就需要多次查询查询。
例如,如果使用 vlookup,则应先在表 1 中搜索工单,然后继续在表 2 中搜索工单,如果在表 2 中找不到,则继续查找......在表3中如果少于 3 个表,则几乎无法查询,但如果超过 5 个表,甚至更多,则非常困难。
这时WPS的新功能就派上用场了,先把3个表格的数据合并在一起,这里为了方便截图,把它们放在一起,比如多页表格合并,参考基本用法2。
输入函数:=vstack(b6:d10,f6:h10,j6:l8)。
效果如下图所示:
这时,如果这一列有数据,可以作为vlookup的第二个参数,这样直接嵌套在里面,如果担心会有表1到表3的数据,可以增加每个数组区域的范围,即把公式改成如下:
vstack(b6:d10000,f6:h10000,j6:l10000)
这样,只要在保留范围内,就可以将数据自动合并到一个数组区域中,效果如下:
有了这个合并的一维数组区域,查询工单的需要就变得非常简单了。
输入数组公式:=vlookup(b3,vstack(b6:d10,f6:h10,j6:l8),,0),合并后返回第二列和第三列
我不想将数组的更改用于:
vlookup(b3,vstack(b6:d10,f6:h10,j6:l8),2,0),返回合并后的第二列。
vlookup(b3,vstack(b6:d10,f6:h10,j6:l8),3,0),返回合并后的第三列。
工作场景:在工厂中,多表查询只是需求之一,还需要汇总总和,例如不同工作表中所有产品的数量。 应该如何设计?
理由仍然是一样的。 将多个表的前持续时间范围汇总到一个表中,并添加多条件求和函数和选择列函数。
条件 1:drop(sort(unique(choosecols(vstack(b4:d996,f4:h996,j4:l992),2))))1)。
函数定义:不要看公式的长度,其实就是删除合并范围的重复项(uniuqe),然后排序(sort),排序的目的是将0排序到顶部,最后用drop删除数组的第一个元素;
总结这 3 个表,这里有点复杂,您需要创建一个具有完整过滤函数和选择列函数的条件区域和条件。 为了方便大家理解,将以下函数写成辅助列。
choosecols(vstack($b$4:$d$1000,$f$4:$h$1000,$j$4:$l$1000),2)
功能定义:合并后显示第二列。
choosecols(vstack($b$4:$d$1000,$f$4:$h$1000,$j$4:$l$1000),2)=n4
选择第2列后,等于N4“电饭煲”,返回true和false,true表示相同,作为过滤的过滤条件。
输入:filter(vstack($b$4:$d$1000,$f$4:$h$1000,$j$4:$l$1000),choosecols(vstack($b$4:$d$1000,$f$4:$h$1000,$j$4:$l$1000),2)=n4).
至此,解基本解解,使用take函数再次保留最后一列后,就可以使用sum函数进行汇总。
最后,输入公式后,sum(take(filter(vstack($b$4:$d$1000,$f$4:$h$1000,$j$4:$l$1000), choosecols($b$4:$d$1000, $f$4:$h$1000,$j$4:$l$1000),2)=n4),,,1)),下拉填充,效果如下图。
优质作者名单