当一个Excel文件中包含多个工作表时,如果需要整理出一份完整的名单,手动复制耗费时间,利用动态数组函数就能轻松实现多表提取不重复姓名。无论工作簿中有3个工作表还是30个工作表,都可以通过一个公式自动完成汇总和去重。
一、多表提取不重复姓名应用场景
很多企业都会按照月份、部门或项目分别建立数据表。例如:
- 1月、2月、3月分别记录员工考勤
- 不同部门维护各自通讯录
- 多个项目保存独立成员名单
- 各班组单独登记值班人员
随着数据不断累积,同一个人可能出现在多个工作表中。如果直接合并数据,最终名单往往会出现大量重复记录。因此,掌握多表提取不重复姓名的方法,可以让汇总工作变得更加简单。
二、一个公式完成多表提取不重复姓名
假设当前工作簿中存在三个工作表:
- 1月
- 2月
- 3月
员工姓名均保存在各工作表的B列。此时只需在汇总表输入以下公式:
=UNIQUE(TOCOL('1月:3月'!B:B,1))
按下回车后,系统会自动生成一份完整的员工名单,并且自动去除重复姓名。

三、公式详细解析
1、这个公式实际上由两个函数共同完成任务。首先是 TOCOL 函数,它会将多个工作表中的B列数据统一提取出来,并转换成一个连续数组。
TOCOL('1月:3月'!B:B,1)
2、这里第二个参数设置为:1 表示自动忽略空白单元格。
经过处理后,原本分散在不同工作表中的姓名会被整合到同一个数据集合中。
3、然后UNIQUE函数会扫描整个姓名列表,只保留唯一值。
UNIQUE(...)
TOCOL负责“汇总”,UNIQUE负责“去重”,两者配合即可实现高效的多表提取不重复姓名。
四、想让名单自动排序怎么办?
有些情况下,我们希望生成的名单按照拼音顺序排列,方便后续查询和管理。此时可以在公式最外层增加SORT函数:
=SORT(UNIQUE(TOCOL('1月:3月'!B:B,1)))
这样不仅能够完成多表提取不重复姓名,还会自动进行排序。以后无论新增员工还是删除员工,结果都会实时更新。
五、使用公式过程中需要注意什么?
在使用该公式时,有几个细节需要提前了解。
第一,工作表引用必须连续。例如:
'1月:3月'
表示从“1月”到“3月”之间所有工作表都会参与统计。
第二,需要支持动态数组函数。
目前兼容版本包括:
- Excel 365
- Excel 2024
- 新版WPS表格
如果使用Excel 2019及更早版本,则无法直接使用TOCOL函数。
第三,建议保留TOCOL函数的第二参数。这样能够自动过滤空白单元格,让最终名单更加整洁。
总结
对于需要频繁汇总数据的办公人员来说,学会多表提取不重复姓名能够节省大量时间。其中TOCOL负责将多个工作表的数据整合到一起,UNIQUE负责去除重复记录。两者结合后,可以快速生成完整且唯一的人员名单。
掌握这个多表提取不重复姓名技巧后,无论是考勤汇总、客户管理还是项目统计,都能够实现自动化处理,大幅提升数据整理效率。