用 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 的"删除重复项"是破坏性操作,删除后无法通过 Ctrl+Z 撤回。这是 WPS 和 Excel 的共同设计——因为去重可能涉及大量行的删除,撤销栈无法完整记录。永远在操作前备份数据或在副本上操作。建议养成 Ctrl+C 复制到新工作表、在新表去重的习惯。
WPS 删除重复项为什么删不掉,点确定没反应?
常见原因有三个:① 选中的区域包含合并单元格——删除重复项不支持合并单元格区域,先取消合并再操作;② 数据区域有筛选状态——先在"数据"→"筛选"中取消筛选,再执行去重;③ 表格引用了外部数据源(如数据库连接)——这类数据无法直接修改,需要先断开连接。如果以上都排除了,尝试重启 WPS 或在安全模式下操作。
UNIQUE 函数在 WPS 里报 #NAME? 错误怎么办?
#NAME? 错误表示 WPS 不认识 UNIQUE 这个函数名,说明你的 WPS 版本太老(2016 或更早)。解决方案:① 升级 WPS 到 2019 或更高版本;② 使用本文"方法四"中的高级筛选去重作为替代方案;③ 使用辅助列 + COUNTIF + 筛选的手动方案替代 UNIQUE。WPS 个人版免费升级,建议直接更新。
怎么只保留重复项而删除唯一值?
有时你正好反过来——想找出哪些是重复的并保留它们(比如找出被重复录入的订单)。方法:在辅助列输入 =COUNTIF($A$2:$A$500, A2)>1,筛选结果为 TRUE 的行就是所有有重复的数据(包括第一条和后面的重复条)。复制筛选结果到新位置即可。或者用条件格式标出重复值后,在筛选器里选"按颜色筛选"→"无填充"的取反,就能只看到标红的行。
WPS 表格能跨多个工作表去重吗?
WPS 的"删除重复项"只能在单个工作表内操作,不能跨表。跨表去重需要先把数据合并:① 新建汇总表,把所有分表的数据复制粘贴到同一张表(注意对齐列结构);② 在汇总表上执行"删除重复项";③ 或者用 UNIQUE 配合 VSTACK 函数(WPS 365 支持):=UNIQUE(VSTACK(Sheet1!A2:A500, Sheet2!A2:A500)) 一步完成跨表去重。如果分表太多,可以用 WPS 的合并计算功能或数据透视表的多重合并计算来辅助。

总结: WPS 表格的去重功能覆盖了从简单到复杂的所有场景。日常使用”删除重复项”一键搞定,老版本用高级筛选,追求自动化用 UNIQUE 函数——最重要的是养成备份习惯和”防重于治”的数据管理思路。