在日常办公中,经常会遇到多个工作表保存同类数据的情况。例如每个月单独记录员工考勤。当需要统计所有人员信息时,逐个工作表复制粘贴不仅效率低,而且容易遗漏数据。这时候,掌握多表提取不重复姓名的方法就显得非常重要。
如果你使用的是 Excel 365 或新版 WPS,那么只需一个公式,就能实现多表提取不重复姓名,自动汇总多个工作表中的人员名单,并完成去重处理。
多表提取不重复姓名应用场景
- 每月员工考勤表
- 各部门通讯录
- 不同项目成员名单
- 多个班组值班记录
随着时间推移,同一个姓名可能会出现在多个工作表中。如果需要统计全部人员名单,就需要进行多表提取不重复姓名操作,确保最终结果既完整又没有重复数据。
多表提取不重复姓名最简单的方法
假设工作簿中存在以下工作表:
- 1月
- 2月
- 3月
每张表的 B 列都存放员工姓名。现在希望在汇总表中生成一份完整且不重复的员工名单。
在目标单元格输入公式:
=UNIQUE(TOCOL('1月:3月'!B:B,1))
按下回车后,即可自动生成所有员工姓名列表。

公式详细解析
虽然公式看起来不长,但实际上包含两个非常强大的动态数组函数。
TOCOL函数负责整合数据
公式中的:
TOCOL('1月:3月'!B:B,1)
作用是:将 1月至3月工作表中的 B 列数据全部提取出来,并纵向合并成一列。
参数说明:
| 参数 | 说明 |
|---|---|
| '1月:3月'!B:B | 提取多个工作表中的B列 |
| 1 | 忽略空白单元格 |
经过 TOCOL 处理后,原本分散在多个工作表中的姓名会被统一整理到同一个数组中。
UNIQUE函数负责去重
接下来:
UNIQUE(...)
会对 TOCOL 返回的数据进行去重。因此,通过 UNIQUE 与 TOCOL 的组合,就能轻松实现多表提取不重复姓名。
如何对提取后的名单排序?
如果希望名单按照拼音或字母顺序排列,可以在外层增加 SORT 函数。
公式如下:
=SORT(UNIQUE(TOCOL('1月:3月'!B:B,1)))
这样生成的结果不仅完成去重,还会自动排序。当源数据发生变化时,排序结果也会同步更新。
使用时需要注意的问题
1、工作表名称必须连续
例如:
'1月:3月'
表示从“1月”到“3月”之间所有工作表。如果中间插入其他工作表,也会一起参与计算。
2、需要新版Excel支持
该方案依赖:
- TOCOL函数
- UNIQUE函数
支持版本:
- Excel 365
- Excel 2024
- 新版WPS表格
Excel 2019及更早版本无法直接使用。
3、空白单元格建议忽略
公式中的第二参数:1
它表示忽略空白单元格。如果省略该参数,结果中可能出现空白项甚至影响最终统计效果。
总结
在处理跨月份、跨部门或跨项目的数据时,多表提取不重复姓名是一项非常实用的Excel技巧。
核心公式只有一行:
=UNIQUE(TOCOL('1月:3月'!B:B,1))
其中:
- TOCOL负责合并多个工作表数据
- UNIQUE负责自动去重
掌握这套方法后,无论是员工考勤、客户名单还是项目成员统计,都能快速完成多表提取不重复姓名操作,省去大量手工整理时间,让数据汇总更加高效。
评论 (0)