Excel表格合并,我只用3秒!揭秘Excel新函数 VSTACK 和 HSTACK 的正确用法
- 2026-11-06 23:31:56
Excel表格合并,我只用3秒!揭秘Excel新函数 VSTACK 和 HSTACK 的正确用法


实例一:名单汇总合并 如下图,名单分成了3块:A1:C5、E1:G5、I1:K5,现在要合并到一块方便查找: 
由于名单中有重复项,可以嵌套 UNIQUE函数,一步到位实现:合并+去重: 
二、把工号汇总到一起 汇总结果: 
如果要把这些工号全部放在同一列里呢,TOCOL上大分: 当然用VSTACK更简单: 三、高阶用法 1、根据工号查找姓名: 示例参照上一篇文章: Excel官方隐藏功能!VLOOKUP从此无视列数,告别区域限制,1秒查遍全表!! 2、生成唯一的小区动态列表 场景:合并1-12月的客户名单,并去重、排序。 3、动态合并筛选结果: 只合并符合条件的数据。例如,只合并三个部门中“绩效为A”的员工: 4、实现多表关联查询 比 VLOOKUP 更强大的查找组合。比如,根据工号,从不同表中查找姓名、部门、薪资:
曾几何时,我们为了解决多表合并,不得不一次又一次的复制粘贴,甚至动用Power Query(学习曲线陡峭)或者 VBA(看到代码就头晕)。

但是,时代变了! Excel于2021年推出的动态备份函数中,有专门为“数据拼接”而生的超级函数——VSTACK 和 HSTACK。
这两个函数的名字很有趣:
V = Vertical 垂直的(纵向) H = Horizontal 水平的(横向) STACK = 一堆;一叠;一摞 [stæk]
一、一分钟搞懂 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)))'1月:12月'!A2:A100:合并12个月的A2:A100区域(1月是起始工作表,12月是结束工作表,引用1月-12月之间的所有连续工作表) UNIQUE:去重 SORT:排序(默认升序) 
=VSTACK(FILTER(技术部数据, 技术部绩效列=“A”),FILTER(市场部数据, 市场部绩效列=“A”),FILTER(运营部数据, 运营部绩效列=“A”))
=HSTACK(XLOOKUP(工号, 信息表!工号列, 信息表!姓名列, “未找到”),XLOOKUP(工号, 信息表!工号列, 信息表!部门列, “未找到”),XLOOKUP(工号, 薪资表!工号列, 薪资表!薪资列, “未找到”))
备注:本文用到的VSTACK/HSTACK/XLOOKUP/FILTER/TOCOL需要的OFFCE版本为2021+/office365,或使用WPS
本文来自网友投稿或网络内容,如有侵犯您的权益请联系我们删除,联系邮箱:wyl860211@qq.com 。