用 WPS 表格处理数据的时候,重复数据是最让人头疼的问题之一——客户名单里有同一个人出现三次、订单编号被复制了两行、学生成绩表里同一个学号录入多遍。不做去重的话,统计汇总出来的数字全对不上。
这篇 WPS表格删除重复项教程 从最基础的内置功能开始,一直讲到动态去重的高级用法,不管你用的是 WPS 哪个版本、数据有多复杂,都能找到对应的方法。
如果你对 WPS 表格的基础操作还不熟,可以先看 WPS 表格公式大全速查表 和 WPS 表格数据验证教程 打好基础。去重之前建议先了解 WPS 表格筛选和排序,方便检查数据质量。
方法一:WPS 内置”删除重复项”功能(最推荐)
这是 WPS 表格自带的去重功能,操作简单,效果直接,90% 的去重需求用它就够了。
操作步骤
→ 选中需要去重的数据区域(可以包含标题行) → 点击顶部菜单栏的”数据”选项卡 → 在”数据工具”组中找到”删除重复项”按钮(图标是一个带叉的表格) → 在弹出的对话框中勾选需要比对的列——勾选哪些列,系统就按哪些列的组合来判断是否重复 → 点击”确定”,WPS 会弹出结果提示:发现了多少个重复值,保留了唯一值的数量
单列去重
如果只想去掉”客户名称”这一列中的重复值,操作如下:
→ 选中包含客户名称的列(比如 A1:A500) → “数据” → “删除重复项” → 只勾选”客户名称”列 → 点击确定,重复的客户名只会保留第一次出现的那行,后面的全部删除
比如你的客户表里”张三”出现了三次,去重后只保留第一个”张三”所在的行,后面两个被整个删除。
多列联合去重
多列联合去重才是最实用的场景——你需要按多列组合来判断重复,单看某一列可能有重复但组合起来是唯一的。
举个例子:销售记录表里有”客户名称”和”销售日期”两列,同一个客户不同天购买的不算重复,但同一天重复录入了就算重复。
→ 全选数据区域 → “数据” → “删除重复项” → 同时勾选”客户名称”和”销售日期”两列 → 确定后,只有”客户名称+销售日期”完全相同的行才会被删除
这个逻辑是 AND 关系——所有勾选的列值都相同时才算重复。
关键注意事项
去重会直接删除整行数据,不可撤销(Ctrl+Z 也不行)! 操作前一定备份或复制一份。建议的保险流程:
→ 在原表按 Ctrl+Shift+↓+→ 全选数据,Ctrl+C 复制 → 新建一个工作表,Ctrl+V 粘贴 → 在新表上执行去重操作 → 确认结果无误后再覆盖原表
在去重之前,如果数据有乱码问题,先参考 WPS 文件乱码修复教程 解决编码问题,否则可能出现中文字符被误判为重复。
方法二:条件格式标记重复值(先看再删)
有时候你不想直接删数据,而是先把重复值标出来,人工确认后再删——特别是财务数据、合同编号这类敏感信息,必须逐条审核。
用条件格式高亮重复值
→ 选中需要检查的列(比如 A2:A500) → 点击”开始”选项卡 → “条件格式” → “突出显示单元格规则” → “重复值” → 在弹出的对话框中选择填充颜色(默认浅红色+深红色文字) → 点击确定,所有重复出现的值会被自动标记颜色
标记完成后,你可以用”数据”→“筛选”→“按颜色筛选”,把所有标红的行集中在一起审核。
条件格式的高级用法:优先保留策略
在实际业务中,去重不是简单删掉重复的就行——你需要决定”保留哪一条”。常见规则:
→ 保留最新日期:用条件格式标出重复值后,在辅助列用 MAXIFS 函数取同一客户的最大日期,不等于该日期的行就是旧记录,可以删 → 保留数据最全的:在辅助列用 COUNTA 函数统计每行的非空单元格数,同一组重复值中保留非空最多的那条 → 保留金额最大的:销售数据中同一客户多条记录,用 MAXIFS 或按金额降序排序,保留第一条
具体到 WPS 的公式实现,辅助列写法:
=IF(COUNTIF($A$2:$A$500,A2)>1,"重复","唯一")
这个公式判断当前单元格的值在整列中出现的次数,大于 1 就是重复。关于 COUNTIF 和其他统计函数的用法,可以看 WPS 条件格式完全指南。
方法三:UNIQUE 函数动态去重(WPS 2021+)
如果你的 WPS 版本较新(2019 及以上),可以直接用 UNIQUE 函数——这是最优雅的去重方式。
UNIQUE 函数基本语法
=UNIQUE(数组, [按列比较], [仅出现一次])
→ 数组:要去重的数据区域(必填) → 按列比较:TRUE 表示按列去重(横向),FALSE 或缺省表示按行去重(纵向) → 仅出现一次:TRUE 表示只返回出现过恰好一次的值(排除所有有重复的),FALSE 或缺省返回所有唯一值
单列去重
=UNIQUE(A2:A500)
在任意空白单元格输入这个公式,WPS 自动向下溢出,返回 A2:A500 中所有唯一值。注意:UNIQUE 是动态数组函数,输入后结果会自动填充到下方多个单元格,不需要下拉。
多列联合去重
=UNIQUE(A2:B500)
同时按 A 列和 B 列的组合去重,返回所有唯一的组合行。比如客户名称(A列)和产品名称(B列)联合去重后,能看到”谁买了什么”的唯一组合。
UNIQUE 的优势和局限
优势:
→ 非破坏性操作——原始数据完全不受影响,去重结果在公式列
→ 源数据变化后结果自动更新(比如新增了一行客户数据,去重结果自动刷新)
→ 可以和其他函数嵌套(比如 =SORT(UNIQUE(A2:A500)) 去重后自动排序)
局限:
→ WPS 2016 及更早版本不支持 UNIQUE 函数
→ 不支持删除整行的原始数据(只提取唯一值,不改变源表结构)
→ 结果溢出区域不能有其他数据,否则会报 #SPILL! 错误
UNIQUE + FILTER 组合:条件去重
这是进阶玩法——先去重,再按条件筛选。比如先获取所有不重复的客户名称,再筛选出消费金额超过 1000 的:
=UNIQUE(FILTER(A2:A500, B2:B500>1000))
先用 FILTER 按条件筛选,再用 UNIQUE 去重,一步到位。
方法四:高级筛选去重(兼容老版本 WPS)
如果你的 WPS 是老版本(2016 及以下),既没有 UNIQUE 函数,“删除重复项”功能也不太好用,可以用经典的高级筛选。
操作步骤
→ 选中数据区域(要包含标题行) → “数据”选项卡 → “筛选”组旁边找到”高级”(或”高级筛选”) → 在弹出的对话框中选择”将筛选结果复制到其他位置” → “列表区域”选择源数据($A$1:$F$500) → “复制到”选择一个空白区域的起始单元格(比如 $H$1) → 勾选”选择不重复的记录” —— 这是关键 → 点击确定
WPS 会在新的位置生成一份去重后的数据,原始数据保持不变。
多条件去重的辅助列技巧
如果你需要按”客户名称 + 日期”组合去重、但用的是不支持多列联合去重的老版本,可以用辅助列:
→ 在数据右边插入一个辅助列(比如 G 列)
→ 输入公式:=A2&"|"&TEXT(B2,"YYYY-MM-DD")(A为客户名,B为日期)
→ 下拉填充后,辅助列里就是”客户名|日期”的合并文本
→ 对这个辅助列做删除重复项或 UNIQUE
→ 完成后再删除辅助列
用竖线 | 做分隔符是因为它基本不会出现在正常数据里,避免误判(比如”张三2026-07-30”如果拆开可能是两个人名,但分隔符保证组合的唯一性)。
常见去重场景实战
场景一:客户名单去重(单列)
→ 目标:删除重复的客户名称,保留首次出现的记录 → 方法:内置”删除重复项”,只勾选客户名称列 → 要点:去重前确认没有”同名不同人”的情况(不同客户确实可能重名),如果有,需要额外列(如手机号)联合判断
场景二:销售订单去重(多列)
→ 目标:按”订单号+商品编码”联合去重 → 方法:“删除重复项”同时勾选订单号和商品编码列 → 要点:同一订单号下不同商品编码不算重复,两个同时相同才算
场景三:每日报表去重(动态)
→ 目标:每天粘贴新数据后自动去重并汇总
→ 方法:UNIQUE + SORT + SUMIF 组合
→ 公式示例:先用 =SORT(UNIQUE(A2:A500)) 去重排序,再在旁边的列用 SUMIF 对去重后的每个名称求和
场景四:跨表去重比对
→ 目标:找出表A有但表B没有的数据(差集)
→ 方法:VLOOKUP / XLOOKUP + 筛选
→ 在 A 表添加辅助列:=IF(ISNA(VLOOKUP(A2, 表B!A:A, 1, FALSE)), "B表无", "B表有")
→ 筛选”B表无”=A独有的,“B表有”=重复的
如果你需要更详细的 VLOOKUP 操作,参考 WPS VLOOKUP 完整教程。
事前预防 vs 事后清理:去重和验证的配合
聊完去重,必须说一个更重要的理念:最好的去重是不需要去重。
数据验证防重
在数据录入阶段就禁止重复值输入,参考 WPS 数据验证教程:
→ “数据” → “有效性” → “自定义”
→ 公式:=COUNTIF($A$2:$A$500, A2)<=1
→ 同一列里输入重复值时会直接弹窗阻止
两者配合的最优方案
| 阶段 | 工具 | 作用 |
|---|---|---|
| 录入时 | 数据验证(自定义公式 COUNTIF<=1) | 防止新的重复数据进入 |
| 定期审核 | 条件格式(突出显示重复值) | 标记可能存在的历史重复 |
| 清理时 | 删除重复项 / UNIQUE 函数 | 一次性清理干净 |
这个”防+查+清”三步法,能让你表格的重复数据问题从根源上减少 90% 以上。
WPS 删除重复项后可以撤销吗?
WPS 删除重复项为什么删不掉,点确定没反应?
UNIQUE 函数在 WPS 里报 #NAME? 错误怎么办?
#NAME? 错误表示 WPS 不认识 UNIQUE 这个函数名,说明你的 WPS 版本太老(2016 或更早)。解决方案:① 升级 WPS 到 2019 或更高版本;② 使用本文"方法四"中的高级筛选去重作为替代方案;③ 使用辅助列 + COUNTIF + 筛选的手动方案替代 UNIQUE。WPS 个人版免费升级,建议直接更新。
怎么只保留重复项而删除唯一值?
=COUNTIF($A$2:$A$500, A2)>1,筛选结果为 TRUE 的行就是所有有重复的数据(包括第一条和后面的重复条)。复制筛选结果到新位置即可。或者用条件格式标出重复值后,在筛选器里选"按颜色筛选"→"无填充"的取反,就能只看到标红的行。
WPS 表格能跨多个工作表去重吗?
=UNIQUE(VSTACK(Sheet1!A2:A500, Sheet2!A2:A500)) 一步完成跨表去重。如果分表太多,可以用 WPS 的合并计算功能或数据透视表的多重合并计算来辅助。
总结: WPS 表格的去重功能覆盖了从简单到复杂的所有场景。日常使用”删除重复项”一键搞定,老版本用高级筛选,追求自动化用 UNIQUE 函数——最重要的是养成备份习惯和”防重于治”的数据管理思路。