大家好,我是你们的Excel老友——阿秋
上次跟大家聊了 Excel 里一个很冷门但超好用的隐藏技巧——三维引用。
有趣的知识又增加了:Excel隐藏神技【三维引用】,99%的人听都没听过!
今天继续围绕这个场景展开两个实战示例,顺便帮你省掉一堆重复劳动。想象一下:现在有 1~12 月共 12 张工资明细表,结构完全一样,要统计所有员工的全年工资合计。

很多人第一反应还是:一张张打开,用 VLOOKUP挨个匹配、再求和……其实完全不用这么笨重,三维引用 + 几个函数组合,就能一口气把全年数据算出来。
一、从12张表中,一秒捞出所有不重复的员工
这是最头疼的第一步。12个月,人员有变动,有的离职,有的新入职。怎么才能又快又准地把所有人都找出来,而且一个都不重复?
常规做法(请立刻忘掉它):
打开1月表,复制姓名;打开2月表,一个个比对,没有的再复制……循环12次,最后再用“删除重复值”。运气好半小时,运气不好,眼睛看花,还容易漏人。
进阶做法(一个公式,10秒解决):
假设你的12张工作表,名字分别叫 1、2、3…… 12。每张表的员工姓名都在 B5:B500 这个区域。
在汇总表的任意单元格输入:
=SORT(UNIQUE(TOCOL('1月:12月'!B5:B500,1)))按下回车,奇迹发生了。
所有员工姓名瞬间出现,自动去重,自动排序。

这个公式到底干了什么?我们来拆解一下:
TOCOL('1月:12月'!B5:B500,1):这是最关键的一步。TOCOL函数就像一个“吸尘器”,把 1到 12这12张表里 B5:B60区域的所有数据,全部吸到一起,排成一列。后面的参数 1,意思是“忽略空值”。这就解决了不同月份人员数量不一的问题。
- 注意:'1:12'是Excel中对连续工作表的快捷引用方式,表示从名为“1”的工作表到名为“12”的工作表。
UNIQUE(...):去重神器。刚才那一大串名单里,张三可能出现在1月、3月、12月,UNIQUE会只保留他一次。
SORT(...):最后的排序。让名单按拼音顺序排列,看起来更整洁,也方便后续查找。(不排序可以省略这个函数)
一句话总结: 从此告别手动复制粘贴,无论你有12张表还是120张表,只要命名规则一致,这一个公式就能把所有不重复的人员名单给你“吐”出来。
二、计算所有员工一年的工资总和
名单有了,接下来就是算总账。我们需要根据上一步得到的员工姓名,去12张表里分别找到他的工资,然后全部加起来。
假设上一步得到的不重复名单,第一个名字在 C6单元格。
在旁边的单元格输入这个“王炸”公式:
=SUM(SUMIFS(INDIRECT("'"&ROW($1:$12)&"月'!C:C"),INDIRECT("'"&ROW($1:$12)&"月'!B:B"),C6))
按下回车,双击填充柄,所有人的年工资总额就瞬间计算完毕。

这个公式看起来有点吓人,但拆开来看,逻辑非常清晰。它本质上是在做一个“循环求和”:
ROW($1:$12):这是一个辅助序列,它会生成 {1;2;3;...;12}这样一个数组。代表我们要依次处理的12个工作表。
INDIRECT("'"&ROW($1:$12)&"'!C:C"):这是公式的灵魂——构建动态引用。
它将数字 1、2、3……与文本 '!C:C拼接起来,形成 '1'!C:C、'2'!C:C……
INDIRECT函数将这些文本字符串,转换为真正的单元格引用。所以,它就代表了“1月表的C列”、“2月表的C列”……也就是工资列。
同理,INDIRECT("'"&ROW($1:$12)&"'!B:B")代表的就是“1月表的B列”、“2月表的B列”……即姓名列。
SUMIFS(..., ..., C6):这是一个多条件求和函数。它的意思是:
求和区域:分别是1月工资列、2月工资列……12月工资列。
条件区域:分别是1月姓名列、2月姓名列……12月姓名列。
条件:等于 C6单元格中的员工姓名。
SUM(...):最外层的 SUM函数,将 SUMIFS计算出的12个结果(1月工资、2月工资……12月工资)全部加起来,得到最终的全年总和。
一句话总结: 一个公式,实现了“跨12张表的多条件求和”。它不需要你创建辅助列,不需要写复杂的VBA代码,这就是Excel函数组合的魅力。
延伸思考:从“会用一个公式”到“掌握一类思路”
今天的两个公式,核心在于 “三维引用” 和 “间接引用(INDIRECT)” 的灵活运用。
TOCOL+ UNIQUE+ SORT:这套组合拳,可以解决任何“从多个结构相同的区域中提取不重复清单”的问题。比如,合并多个部门的考勤记录、汇总各分公司的产品列表等。
SUM+ SUMIFS+ INDIRECT+ ROW:这套“多维条件求和”模型,是处理“多表、同结构、条件汇总”的终极武器。你可以轻松地将它改写成求平均值、最大值、最小值,只需将 SUM和 SUMIFS替换为对应的 AVERAGEIFS、MAXIFS、MINIFS即可。
记住这个思路:当你需要对N个结构完全相同的表做同样的操作时,想办法让Excel自动帮你“遍历”这N个表,而不是你自己手动去做N遍。
当然,如果你的EXCEL版本不支持TOCOL函数,也可以使用 数据透视表 来汇总,步骤如下:
1、ALT+D+P 组合键,调出“数据透视表和数据透视图向导”对话框,选择“多重合并计算区域 ” → 下一步 → 创建单页字段 ;
2、选定区域 → 分别添加12张表的数据区域 → 下一步 ,完成!
详细步骤请参考之前的文章:
还在用VLOOKUP查数据?太原始了!数据透视表一秒搞定跨表查询汇总,效率提升10倍!
如果你觉得今天的分享有用,不妨点赞和在看,让更多朋友看到。
示例模板:https://pan.baidu.com/s/10vc2uGaj7OtXnE4zPHg1Fw?pwd=9527

相关文章链接:
90%的人不知道,不用VBA也能轻松实现数据变形,3分钟学会!

夜雨聆风