你知道怎么从多个不连续的列或区域中提取不重复的数据吗?今天就以值班表为例,讲解如何用两个函数组合快速完成这个任务。
一、场景案例
下图是一张值班表,A列和B列是周一的值班信息,C列和D列是周二的值班信息。现在需要从A列和C列这两个不连续的区域中,提取出一份不重复的员工名单,用于制作总通讯录。
二、操作步骤
1、选中F2单元格。
2、输入以下公式:
=UNIQUE(VSTACK(A2:A6,C2:C6))
3、按回车确认,结果自动溢出到下方单元格,显示所有不重复的姓名。

三、公式拆解
VSTACK(A2:A6,C2:C6)的作用是把A2:A6和C2:C6两个不连续的区域垂直拼接成一列。VSTACK的“V”代表“Vertical”,就是把多个数组按行方向摞在一起。A列和C列的人员合并成一列,包括所有重复项。UNIQUE 将合并后的数据去重,只保留每个姓名第一次出现的那一条,得到的就是不重复的员工名单。
四、更多应用场景
场景一:提取三列的不重复值
如果值班表有三列(周一、周二、周三),只需在VSTACK中增加一个参数:
=UNIQUE(VSTACK(A2:A6, C2:C6, E2:E6))

场景二:提取多行多列的不重复值
如果数据分布在多个不连续的区域(如A2:B7和D2:E7),同样可以用VSTACK拼接:
=UNIQUE(VSTACK(A2:B7, D2:E7))
五、使用注意
版本要求:UNIQUE和VSTACK函数均需要 Excel 365 或 最新版WPS。旧版本可以分别用“删除重复项”功能处理。
VSTACK要求各区域列数相同:如果拼接的是单列,必须全是单列;如果是多列,列数必须一致。
六、总结
Excel不连续区域提取不重复值,VSTACK负责把不连续的区域弄成一列或一个区域,UNIQUE负责去重。两个函数配合使用,无论多少个不连续区域,都能一次性提取出干净的不重复名单。