1
场景背景
每个月一张销售表,结构完全一样。年底要做全年分析,需要把 12 张表纵向拼成一张。三种做法:手动复制粘贴(最笨但最稳)、VSTACK(365 一行搞定)、Power Query(最专业,可刷新)。
2
数据结构
共 2 个 Sheet3
解决步骤
1
第 1 步:确认所有表结构完全一致
列的顺序、表头文字必须一样,否则拼起来会错列。
2
第 2 步:VSTACK 纵向堆叠
365 里 VSTACK 可以把多张表垂直拼起来,一个公式搞定全年。
=VSTACK(1月!A2:B5,2月!A2:B5,3月!A2:B5)
3
第 3 步:加上来源标记
拼完后加一列「来源月份」,方便后续按月份透视。HSTACK 可以横向加列。
=HSTACK(VSTACK(1月!A2:B5,2月!A2:B5),{"1月";"1月";"1月";"1月";"2月";"2月";"2月";"2月"})
4
第 4 步:合并后汇总
拼成一张大表后,就能用 SUMIF / 数据透视表随意分析了。
=SUMIF(A:A,"张三",B:B)
4
完整公式与逐段拆解
=VSTACK(1月!A2:B5,2月!A2:B5,3月!A2:B5)
VSTACK(纵向堆叠函数,按顺序往下接1月!A2:B5第一张表的数据区域(不含表头),2月!A2:B5,...继续追加其他月份| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | 姓名 | 1月 | 2月 | 3月 | 季度合计 |
| 2 | 张三 | 1200 | 1500 | 1300 | 4000 |
| 3 | 李四 | 1400 | 1700 | 1500 | 4600 |
| 4 | 王五 | 1700 | 2000 | 1800 | 5500 |
| 5 | 赵六 | 1100 | 1400 | 1200 | 3700 |
| 6 | 合计 | 5400 | 6600 | 5800 | 17800 |
当前表:季度汇总 · 公式单元格 E2 · 绿色底为公式,蓝色底为动态数组溢出结果
季度汇总的季度合计就是先按月对齐再相加的结果
6
数据流向
数据流向演示1 / 4
来源1月!A2:B5
➜
去向VSTACK
1 月表数据
来源2月!A2:B5
→
去向VSTACK
2 月表数据
来源3月!A2:B5
→
去向VSTACK
3 月表数据
来源VSTACK
→
去向汇总表 A2
纵向拼成一张
跟着高亮一步步看数据怎么流动
7
注意事项与坑
!各表行数不同时,VSTACK 会自动按实际区域拼接,但区域要写准。
!表头只保留一份,不要把每张表的表头都拼进去。
!VSTACK 在 2019 及更早不支持,用 Power Query 追加查询更稳。
8