1
场景背景
每个月一张销售表,结构完全一样(姓名 + 销售额),但人名顺序可能不同。要做季度汇总:每个月的数按姓名对齐,再加总。直接用 SUM 跨表相加会因为顺序不同而错位,正确做法是用 VLOOKUP 按姓名取值,再用 IFERROR 兜底 0。
2
数据结构
共 2 个 Sheet3
解决步骤
1
第 1 步:确认三张表结构一致
表头顺序、字段名必须一样。名字写法也要统一,别一个「张三」一个「张三 」。
2
第 2 步:按姓名跨表取数
汇总表 B2 用 VLOOKUP 去 1 月表找 A2 的销售额。C、D 列同理换表名。
=IFERROR(VLOOKUP($A2,1月!A:B,2,FALSE),0)
3
第 3 步:横向相加得季度合计
三个月的数都在一行了,直接 SUM(B2:D2)。
=SUM(B2:D2)
4
第 4 步:核对总数
汇总表最后一行做合计,和各分表各自的合计对一下,数字对得上才算合并成功。
=SUM(E2:E5)
4
完整公式与逐段拆解
=IFERROR(VLOOKUP($A2,1月!A:B,2,FALSE),0)
$A2查找值锁列不锁行,往右拖时还是找 A 列的姓名1月!A:B去 1 月表的前两列找2,FALSE返回第 2 列,精确匹配IFERROR(...,0)当月没这个人就按 0 处理,避免 #N/A 影响合计| 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 · 绿色底为公式,蓝色底为动态数组溢出结果
季度汇总 E2 = 1200+1500+1300 = 4000
6
数据流向
数据流向演示1 / 4
来源季度汇总!A2
➜
去向VLOOKUP
汇总表 A2 姓名
来源1月!A2:A5
→
去向匹配行
去 1 月表找人
来源1月!B2:B5
→
去向汇总表 B2
取回销售额
来源B2:D2
→
去向E2 季度合计
三个月横向相加
跟着高亮一步步看数据怎么流动
7
注意事项与坑
!各表人名顺序不同,千万别用「直接相加」的方式跨表 SUM。
!分表名带空格时公式要写成 '1 月'!A:B。
!分表新增人名时,汇总表的姓名列要同步补上,否则新人不进汇总。
8