WPS 数据去重黑科技:UNIQUE 函数,告别重复数据
一、先搞懂:UNIQUE 函数到底是个啥?
在讲用法之前,咱们先简单认识下这个 “神器”。UNIQUE 函数是 WPS 表格里专门用来提取唯一值、删除重复数据的函数,简单说就是 “把重复出现的内容只留一次,不重复的内容全部保留”。
以前咱们处理重复数据,要么用 “数据透视表” 绕远路,要么手动筛选后一条条删除,遇到几百上千行的数据,半小时都未必能搞定。但用 UNIQUE 函数,只要输入一行公式,几秒钟就能得到干净的无重复数据,哪怕是新手也能轻松上手。
而且它还有个超贴心的优势:动态更新。比如你后续给表格新增了数据,只要公式所在的单元格区域足够大,UNIQUE 的结果会自动同步更新,不用再重新输入公式,简直是 “一劳永逸”!
二、语法超简单:30 秒学会怎么写公式
很多小伙伴一看到 “函数” 就犯怵,觉得公式肯定很复杂。但 UNIQUE 函数的语法真的比想象中简单,甚至可以说 “傻瓜式”,咱们花 30 秒就能吃透。
1. 基本语法结构
UNIQUE 函数的完整语法是:
=UNIQUE(数据区域, [是否保留完全重复行], [是否按列提取])
这里面只有 “数据区域” 是必须填的,后面两个参数是可选的,咱们一个个拆解开讲,保证大家一看就懂:
- 数据区域:你要去重的内容所在的单元格范围,比如 A2:A100(单列)、A2:C100(多列);
- [是否保留完全重复行]:是个逻辑值,填 TRUE 或 FALSE(默认是 FALSE)。简单说,如果你选 TRUE,只有当多列数据完全一样时才会去重;选 FALSE,哪怕只有一列数据重复,就会被去重(日常用得最多的是 FALSE);
- [是否按列提取]:也是逻辑值,填 TRUE 或 FALSE(默认是 FALSE)。FALSE 是按行去重(咱们平时处理表格基本用这个),TRUE 是按列去重(比如多列数据里有重复的列,就会只留一列)。
2. 举个例子更明白
咱们拿最常见的 “单列数据” 来举例,比如 A 列是员工姓名,从 A2 到 A15,里面有多个重复的名字。这时候要提取唯一姓名,公式直接写:
=UNIQUE(A2:A15)
输入公式后按回车,WPS 会自动在公式所在单元格下方,生成一列没有重复的员工姓名,是不是超简单?
三、实战!4 个高频场景,覆盖 80% 工作需求
光懂语法不够,咱们结合实际工作场景来练手,看完这 4 个案例,你就能应对大部分数据去重需求了。
场景 1:单列数据去重(最常用)
需求:领导给了一份 “员工考勤表”(A 列是姓名,A2:A50),里面有很多重复姓名,需要提取出所有不重复的员工名单,方便统计考勤。
操作步骤:
- 先找一个空白单元格,比如 C2(避免覆盖原数据);
- 输入公式:=UNIQUE(A2:A50);
- 按回车,C2 及下方单元格会自动生成无重复的员工姓名,重复的名字只保留第一次出现的那一个;
- 如果后续在 A 列新增了员工姓名,C 列的结果会自动更新,不用重新操作。
小贴士:如果想让结果按 “姓名首字母” 排序,可以搭配 SORT 函数,公式改成=SORT(UNIQUE(A2:A50)),这样去重后的数据会更整齐。
场景 2:多列数据去重(比如销售表、订单表)
需求:一份 “产品销售表”,A 列是产品名称,B 列是销售区域,C 列是销售额(A2:C30),里面有重复的 “产品 + 区域” 组合(比如 “手机 + 北京” 出现了 3 次),需要提取出唯一的 “产品 + 区域” 组合,方便后续分析。
操作步骤:
- 选择空白单元格 D2;
- 输入公式:=UNIQUE(A2:C30)(这里数据区域选了 3 列,因为要判断 “产品 + 区域 + 销售额” 是否完全重复);
- 按回车后,D2、E2、F2 及下方会自动生成无重复的 3 列数据 —— 只有当 A、B、C 三列数据完全一样时,才会被判定为重复并删除;
- 如果只想按 “产品 + 区域” 去重(不管销售额是否不同),可以把数据区域改成 A2:B30,公式变成=UNIQUE(A2:B30)。
注意:多列去重时,一定要明确 “哪些列组合起来算重复”,再确定数据区域,避免去重结果不符合预期。
场景 3:带条件的去重(比如 “只筛选某部门的唯一员工”)
需求:“员工信息表” 里,A 列是姓名,B 列是部门(A2:B40),需要提取出 “技术部” 所有不重复的员工姓名,排除其他部门的人。
这种情况单独用 UNIQUE 不够,需要搭配 “筛选神器” FILTER 函数,实现 “先筛选、再去重”。
操作步骤:
- 空白单元格 C2 输入公式:=UNIQUE(FILTER(A2:B40, B2:B40="技术部"));
- 公式解析:FILTER (A2:B40, B2:B40="技术部") 先筛选出 B 列是 “技术部” 的所有行,再用 UNIQUE 对筛选后的结果去重;
- 按回车,C2、D2 及下方会生成 “技术部无重复员工姓名 + 部门” 的组合,其他部门的数据会被自动排除。
场景 4:统计唯一值数量(比如 “统计实际参赛人数”)
需求:“比赛报名统计表” 里,A 列是报名人员姓名(A2:A60),有重复报名的情况,需要统计实际有多少人报名(即唯一姓名的数量)。
这时候要搭配 “计数神器” COUNTA 函数,先去重再计数。
操作步骤:
- 空白单元格 B2 输入公式:=COUNTA(UNIQUE(A2:A60));
- 公式解析:UNIQUE (A2:A60) 先提取无重复姓名,COUNTA 再统计这些无重复姓名的个数;
- 按回车,B2 会直接显示具体的数字(比如 “45”),就是实际报名人数,不用再手动数。
对比:如果直接用 COUNTA (A2:A60),统计的是所有单元格的数量(包括重复的),结果会比实际人数多,所以一定要先去重再计数!
四、进阶技巧:2 个组合用法,效率再升级
学会基础用法后,再试试这两个 “组合技”,能解决更复杂的需求,让你在同事面前露一手!
技巧 1:结合 SUMIFS,计算 “唯一产品的销售总额”
需求:“销售表” 里 A 列是产品名称(有重复),B 列是销售额(A2:B50),需要计算 “每个唯一产品” 的总销售额(比如 “手机” 不管出现多少次,只算一次总销售额)。
公式:=SUMIFS(B:B, A:A, UNIQUE(A2:A50))
解析:UNIQUE (A2:A50) 先提取所有唯一产品,SUMIFS 再根据这些唯一产品,分别计算对应的销售额总和,最终会生成一列 “产品名称 + 对应总销售额” 的数据,不用再手动分类汇总。
技巧 2:跨表格去重(比如 “合并两个表并去重”)
需求:有 “表 1” 和 “表 2” 两个员工名单,分别在 Sheet1 和 Sheet2 的 A 列(A2:A30),需要合并两个表的姓名,并去除重复的名字。
公式:=UNIQUE(VSTACK(Sheet1!A2:A30, Sheet2!A2:A30))
解析:VSTACK 函数先把 Sheet1 和 Sheet2 的 A 列数据 “垂直合并” 成一列,UNIQUE 再对合并后的数据去重,最终得到两个表的无重复姓名汇总,不用再手动复制粘贴。
五、避坑指南:3 个常见问题,解决 90% 报错
用函数时难免会遇到报错,别慌,这 3 个常见问题的解决方法记好,能少走很多弯路。
问题 1:出现 #VALUE! 错误(值错误)
原因:数据区域里混有不同类型的数据,比如 A 列既有文本(姓名),又有数字(比如身份证号被当成数字),UNIQUE 函数无法识别。
解决方法:
- 选中数据区域,右键选择 “设置单元格格式”;
- 把所有单元格统一设置为 “文本” 格式(如果是数字类数据,比如身份证号,也建议设为文本,避免丢失位数);
- 重新输入公式,错误就会消失。
问题 2:去重后结果显示不全,后面有 #SPILL! 错误
原因:公式所在单元格的下方或右侧有其他数据,WPS 无法 “溢出” 显示所有去重结果(UNIQUE 函数会自动 “溢出” 生成结果,需要足够的空白区域)。
解决方法:
- 清空公式所在单元格下方 / 右侧的所有数据(确保没有任何内容,包括空格);
- 重新按回车,结果就会完整显示出来。
问题 3:处理大数据时卡顿(比如 1000 行以上)
原因:UNIQUE 函数虽然高效,但处理超大数据量时,会占用较多内存,导致表格卡顿。
解决方法:
- 先筛选出需要去重的部分数据(比如按日期筛选出 “本月数据”),分批去重,避免一次性处理太多数据;
- 如果电脑配置较低,可以关闭其他无关软件,减少内存占用;
- 去重完成后,把结果 “复制粘贴为数值”(右键选择 “粘贴选项 - 数值”),再删除原公式,避免后续操作卡顿。