做月度报表时,你是不是也经常被十几个来源的表单折腾得够呛?复制、粘贴、对齐、去重……稍微新增几行数据,整个流程又得重来一遍。
其实,Excel里有个被低估的函数可以彻底终结这种重复劳动——它就是VSTACK函数。下面这5种用法,能帮你把零散的表单自动整合成一份可动态更新的数据集。
1.垂直堆叠:把多张表“摞”成一张表
VSTACK函数的核心动作就是“垂直拼接”。
- 函数语法:=VSTACK(区域1,区域2,区域3,...),最多支持254个区域。

- 关键细节:只有第一个区域可以保留表头,后面区域必须去掉表头行(只选数据部分),否则结果里会出现重复的表头行。
比如左表和右表都是“姓名、薪资”两列,直接用=VSTACK(A2:B4,D2:E4)就能合成完整清单。

2.跨表联合查询:不用再分开VLOOKUP
以前要在多个表里查找某个人的信息,比如员工“孙七”的薪资可能出现在表A或表B,你得先查表A、再查表B,最后手动拼结果。
现在用VSTACK函数先合并两个表作为虚拟查询范围,再配合VLOOKUP一步到位:
=VLOOKUP(B8,VSTACK(A2:B4,D2:E4),2,0)

这样无论目标数据藏在哪个原始表中,公式都能快速查找。
3.合并后一键排序:数据更新排名自动变
两个班级的成绩单要合在一起按分数从高到低排名。传统做法是粘贴后手动排序,但数据一改就得重来。用VSTACK函数搭配SORT即可:
=SORT(VSTACK(一班成绩区域,二班成绩区域),2,-1)

第二参数“2”表示按分数列排序,-1代表降序。后续无论哪个班级新增或修改成绩,排序结果都会实时刷新。
4.动态扩展汇总:配合超级表实现“零维护”
这是VSTACK函数最实用的场景——让汇总结果随原始数据自动长大。
两步操作:
- 选中每个原始表格,按Ctrl+T转为“超级表”(Excel自动命名为“表1”“表2”等)。
- 输入公式:=VSTACK(表1,表2)

之后无论在“表1”还是“表2”底部追加新行,汇总区域都会瞬间包含新增内容。再也不用手动调整引用范围。
5.多表条件筛选:用FILTER批量过滤
假设有两张销售明细表,想筛选出金额大于5000的所有记录。分别筛选再拼起来太慢。用VSTACK函数配合FILTER,一个公式搞定:
=FILTER(VSTACK(表1数据区,表2数据区),VSTACK(表1金额列,表2金额列)>5000)

关键在于:
- 第一个VSTACK函数合并两张表的完整数据行;
- 第二个VSTACK函数只合并金额列作为筛选条件。
两个堆叠动作独立又协同,逻辑清晰。
6.多表分类汇总:GROUPBY一次性分组求和
如果你用的是Excel365最新版,可以用GROUPBY配合VSTACK函数实现免透视表的汇总。
例如两张销售表,分别记录业务员和销售额,要按姓名统计总金额:
=GROUPBY(VSTACK(姓名列1,姓名列2),VSTACK(金额列1,金额列2),SUM)

第一个VSTACK函数把所有人名列竖着拼起来,第二个堆叠金额列,GROUPBY自动完成分组求和。两个表的数据一次汇总完毕。
总结
VSTACK函数的核心价值在于把分散的表格“虚拟合并”成一个动态整体,后续的查询、排序、筛选、汇总都可以基于这个整体直接操作。
下次遇到多表合并的麻烦,不妨试试这几个组合公式,让Excel替你完成重复的搬运工作。
评论 (0)