曾几何时,我们为了解决多表合并,不得不一次又一次的复制粘贴,甚至动用Power Query(学习曲线陡峭)或者 VBA(看到代码就头晕)。

但是,时代变了! Excel于2021年推出的动态备份函数中,有专门为“数据拼接”而生的超级函数——VSTACK 和 HSTACK。
这两个函数的名字很有趣:
别被英文名字唬住,它们的逻辑超级简单:


它们的语法更是简单到没朋友:
=VSTACK([数组1], [数组2], ...)=HSTACK([数组1], [数组2], ...)
核心要点:1、参数就是你要合并的表格区域,可以是一个或多个。2、VSTACK要求每个表格的列数必须相同,上下摞的时候才对得齐。3、HSTACK要求每个表格的行数必须相同,左右拼的时候才不出错。4、它们生成的是动态数组,结果会自动“溢出”到相邻单元格,源数据一变,结果也变。
避坑提醒:如果行列数对不上,Excel会返回一个#N/A错误。这是它在提醒你:“兄弟,你这表格尺寸不一致,我没法拼啊!”

=VSTACK(A1:C5,E1:G5,I1:K5) =UNIQUE(VSTACK(A1:C5,E1:G5,I1:K5))
=HSTACK(A1:A5,E1:E5,I1:I5)
=TOCOL(HSTACK(A1:A5,E1:E5,I1:I5))=VSTACK(A1:A5,E1:E5,I1:I5)=VLOOKUP("工号",VSTACK(A1:C5,D1:F5,G1:I5),2,0)=SORT(UNIQUE(VSTACK('1月:12月'!A2:A100)))
=VSTACK(FILTER(技术部数据, 技术部绩效列=“A”),FILTER(市场部数据, 市场部绩效列=“A”),FILTER(运营部数据, 运营部绩效列=“A”))
=HSTACK(XLOOKUP(工号, 信息表!工号列, 信息表!姓名列, “未找到”),XLOOKUP(工号, 信息表!工号列, 信息表!部门列, “未找到”),XLOOKUP(工号, 薪资表!工号列, 薪资表!薪资列, “未找到”))
备注:本文用到的VSTACK/HSTACK/XLOOKUP/FILTER/TOCOL需要的OFFCE版本为2021+/office365,或使用WPS