Excel的新函数VSTACK函数适用于Excel365或者WPS。VSTACK可将多个表格合并,与其他函数结合可实现排序、消错、去重和多页表合并等功能,提高数据处理效率。
接下来我们介绍VSTACK函数的使用方法以及和其它函数搭配的高能应用。
VSTACK函数基础用法
VSTACK函数的基础使用方法很简单,表达式如下
VSTACK ( 范围1 , 范围 2 , ....)
意思是把范围1、范围2 ....等多个范围的数据合并在一起。当然,如果需要合并2个以上的表格,无限去套就行了.
如下图,把AB列、DE列、GH列的数据合并成两列,只需要在J1单元格输入公式即可实现:
=VSTACK(A1:B12,D1:E12,G1:H12)

多表合并
需要合并的内容是工作簿里面的多个工作表,并且是连续的工作表。那是不是需要逐个输入到公式里面呢?如:
=VSTACK(Sheet1A1:B12,Sheet2D1:E12,Sheet3G1:H12,Sheet4....)
不用!
如下图,需要合并梁山部、水泊部、城市部三个表格的内容,可以进行以下操作,在新表格A1单元格输入公式:
=VSTACK ( 梁山部:城市部!A1:D15 )

出现的0是什么回事呢?因为公式将三个表格的A1:D15范围合并在一起,有的表格有空白单元格,没有数据。那就显示0。
搭配FILTER函数去掉0
如何去掉0呢?我们可以搭配FILTER函数来实现。公式可以列为:
=VSTACK(梁山部!A1:D1,FILTER(VSTACK(梁山部:城市部!A2:D15),CHOOSECOLS(VSTACK(梁山部:城市部!A2:D15),1)>0))

搭配VLOOKUP跨表查询
VSTACK搭配VLOOKUP函数可以轻松进行跨表查询。如下图,需要对几个连续的表格进行查询,可以输入公式:
=VLOOKUP(A2,VSTACK(梁山部:城市部!A1:D22),2,0)

搭配SORT函数进行排序
如果你需要把两个表格区域数据合并以后并且还需要进行排序,把合并的表格依据等级归类之后,然后按照得分进行从大到小的排序。如下图:
公式:
=VSTACK(A1:C1,SORT(VSTACK(A2:C12,E2:G12),{2,3},-1))

公式解释:
首先是SORT(VSTACK(A2:C12,E2:G12),{2,3},-1),公式中VSTACK搭配SORT函数进行排序,参数{2,3}是指排序面对列是第2列、第3列,参数-1是降序排列(1则是升序)。
然后再嵌套一个VSTACK函数,将表头和排列的内容合并在一起。即:
VSTACK(A1:C1,SORT(VSTACK(A2:C12,E2:G12),{2,3},-1))
关于排序的详细分析请参照SORT函数介绍。
在使用VSTACK函数的时候,当其中某些表格缺少某列的时候,就会出现NA错误。如下图,第二个区域缺少了“等级”一列,合并结果就出现了错误值。

像这种情况,可以搭配IFERROR函数或者IFNA函数屏蔽错误值。
如下图:

公式:
=IFERROR(VSTACK(A1:C12,E2:F12),"")
或者
=IFNA(VSTACK(A1:C12,E2:F12),"")
VSTACK搭配UNIQUE可以将合并后的结果去除重复值。
如下图,当需要合并的两个区域数据有重复数据时,合并的结果也会有重复数据。要合并两张表格,并且去除重复值方法,可以使用下方的公式搭配。公式如下:
=UNIQUE(VSTACK(A1:B12,D2:E12))

结束语