Excel 去重 AI 实操:1 分钟洗白万行数据
Excel 去重 AI 教程:用 AI 一句话搞定 UNIQUE 公式、Power Query 去重、模糊去重,含 5 个真实场景、3 种工具对比和"长得像但不一样"数据的清洗思路
你拿到一份客户名单,1 万行,老板让你”去掉重复客户”。打开一看:同一个客户名出现了 8 次——有的”张三”,有的”张三 “(带空格),有的”张 三”(中间俩空格),有的”张三(北京)“。Excel 内置的「删除重复值」按钮只认”一模一样”的,剩下 4 种变体它都拆不出来。这时候让 Excel 去重 AI 出手,3 分钟搞定。
把你的去重规则用大白话告诉 AI,AI 给你一个 UNIQUE 公式 + 清洗 + 模糊匹配组合方案。本文给你万能 prompt 模板 + 5 个真实场景 + 3 种”看起来重复但不是完全重复”的处理思路。
为什么 Excel 自带的”删除重复值”不够用
Excel「数据 - 删除重复项」3 个硬伤:
- 只认精确匹配:“张三” 和 “张三 “(带空格)当作 2 条不同记录
- 没法跨列模糊匹配:电话号 “138-1234-5678” 和 “13812345678” 当不同
- 删了就回不来了:直接物理删除,没法标记 / 不可逆
AI 配合 TRIM / CLEAN / 模糊匹配函数 + UNIQUE 新函数,三大坑一次性绕过。
用哪个工具
| 工具 | 精确去重 | 模糊去重 | 国内可用 | 备注 |
|---|---|---|---|---|
| Claude | 优秀 | 优秀 | 需代理 | UNIQUE 公式最稳 |
| ChatGPT GPT-5 | 优秀 | 优秀 | 需代理 | 模糊匹配思路多 |
| 豆包 / Kimi | 良好 | 良好 | 直接可用 | 免费够用 |
| WPS AI | 良好 | 中 | 直接可用 | WPS 表格里直接调 |
| Excel Power Query | 优秀 | 中 | 直接可用 | Excel 内置,无需 AI |
如果数据量大(10 万行以上)+ 规则复杂,首推 Power Query(AI 帮你生成 M 代码)。中等量级(1 万行以下)用 UNIQUE 公式最快。
万能 prompt:Excel 去重专家
下面这段套到任何 AI 工具:
你是一位资深 Excel 数据清洗专家,擅长用 UNIQUE/COUNTIF/Power Query 三种方式做精确去重、模糊去重、跨列联合去重。
我的需求: [用大白话描述要去什么重。比如「在 5000 行客户表里,按姓名+手机号联合去重,保留每组第一条记录」]
数据样本(前 5 行): A 列:[列名] B 列:[列名] C 列:[列名]
- [样本数据]
- [样本数据] …
去重规则:
- 按哪些列联合判断重复:[列举]
- 重复定义:[精确匹配 / 忽略空格 / 忽略大小写 / 忽略全半角]
- 保留哪一条:[第一条 / 最后一条 / 字段最完整的那条]
Excel 版本:[Excel 365 / Excel 2019 / WPS] 数据范围:[A2 到 X5001]
请按以下格式输出:
推荐方案(UNIQUE 公式,Excel 365 优先)
[直接给能粘的公式]
备选方案 1(COUNTIF 标记重复,适合”标记不删除”)
[公式 + 解释]
备选方案 2(Power Query 步骤,适合大批量 + 复杂规则)
[逐步操作清单]
公式解释
逐行说明每个参数。
怎么用
- 把公式粘到:[单元格]
- 源数据要在:[范围]
- 注意事项:[空格 / 大小写处理]
异常处理
- 数据里有 [常见异常] 怎么办
填好方括号发给 AI。下面 5 个场景示范怎么填。
5 个真实场景示例
场景 1:单列精确去重(最简单)
需求:A 列 1000 个客户名,要拿到所有不重复的名字列表。
AI 给出(Excel 365):
B2:=UNIQUE(A2:A1001)
按回车,B 列自动展开所有不重复的客户名。原数据不动,新列直接生成。
老版本 Excel:
B2:=IFERROR(INDEX(A:A, MATCH(0, COUNTIF(B$1:B1, A:A), 0)), "")
数组公式,按 Ctrl+Shift+Enter 输入,向下拖。
场景 2:多列联合去重(按姓名+手机号)
需求:5000 行客户表,同一个人可能在不同表单录入过,要按”姓名+手机号”联合去重。
推荐(Excel 365):
=UNIQUE(A2:B5001)
如果要保留所有列(C 是邮箱、D 是公司):
=UNIQUE(A2:D5001)
如果要按 A、B 联合判断但只显示去重后的 A、B、C 三列:
辅助列 E:=A2 & "|" & B2
然后 F:=UNIQUE(E2:E5001)
最后用 [VLOOKUP](/ai-office/excel-vlookup-ai/) 查回 C 列
UNIQUE 一行搞定,比 Excel 内置「删除重复项」还快。
场景 3:模糊去重(忽略空格 + 大小写)
需求:A 列邮箱有”[email protected]”、“[email protected]”、“[email protected] “(末尾空格),都当一个。
辅助列 B:=LOWER(TRIM(A2)) # 转小写 + 去前后空格
C 列去重结果:=UNIQUE(B2:B1001)
更彻底的清洗:
B:=LOWER(TRIM(CLEAN(SUBSTITUTE(A2," ",""))))
# 转小写 + 去前后空格 + 去回车符 + 去所有空格
适合用户输入字段(邮箱 / 手机 / 公司名)这种”格式随便”的列。
场景 4:标记重复但不删除
需求:保留所有数据,但用一列标”是否重复”,方便后续筛选。
B2:=IF(COUNTIF(A$2:A2, A2)>1, "重复", "首次")
公式逻辑:从 A2 开始往下数,A2 在前面(A$2 到 A2)出现过几次。第一次出现是 1,标”首次”;第二次以后是 2+,标”重复”。
向下拖到 1000 行,筛选”重复”就能看到所有需要处理的行。
场景 5:跨表去重(找出 A 表有但 B 表没有的)
需求:A 表是「今年新客户」(500 行),B 表是「去年老客户」(2000 行)。要拿到”今年新增、去年没有的”客户。
推荐(Excel 365):
=FILTER(A2:A501, COUNTIF(B!A:A, A2:A501)=0)
备选方案:
辅助列 C:=IF(COUNTIF(B!A:A, A2)=0, "新", "老")
筛选 C="新" 的就是新增。
这种”差集”操作在 Power Query 里叫”合并查询 - 仅左外部”,AI 都会教你 2 种方法都用。
手把手 5 步走
第 1 步:先看 20 行真实样本
不要直接发”帮我去重”——先眼睛看一遍 20 行,搞清楚:
- 有没有空格 / 全半角混用 / 大小写混用
- 有没有看起来像重复但实际不重复的(比如同名不同手机号)
- 有没有看起来不重复但实际是同一个人(比如手机号一样、名字不同)
样本看清楚再写规则。
第 2 步:明确”重复”的定义
重复有 5 种常见定义,选一种或组合:
- 完全相同:所有列一字不差
- 指定列相同:比如只看姓名+手机
- 指定列忽略格式:比如手机号忽略横杠
- 指定列模糊匹配:比如公司名 80% 相似度
- 业务规则:比如同一身份证当一个人
把定义写清楚再发 prompt。
第 3 步:先在小数据上跑
公式 / 步骤拿到,先在 50-100 行上跑:
- 看去重结果对不对
- 看保留的是不是预期的那一条
- 看有没有把”看起来像但不是”的数据误删
第 4 步:扩到全表
小数据 OK 再扩到全表。永远保留原表副本,去重操作不可逆。
第 5 步:人工抽样复核
去重后随机抽 20 行核对:
- 是不是真的少了重复
- 有没有把不该删的也删了
发现错就回去调规则。
5 个让 AI 去重更准的技巧
技巧 1:贴 10-20 行最有代表性的样本
故意贴”看起来像重复”的、“看起来不像但实际是”的、“含异常的”,让 AI 看到全貌。
技巧 2:明确”保留哪一条”
UNIQUE 默认保留第一条出现的。如果你要”保留字段最完整的那条”或”保留最新更新的那条”,要在 prompt 里写清楚。AI 会用 MAXIFS / 排序 + UNIQUE 组合。
技巧 3:先清洗再去重
去重前先用辅助列做清洗(TRIM + LOWER + CLEAN)。清洗 → 去重 → 删辅助列,这个顺序最稳。直接对”脏数据”去重,结果不可控。
技巧 4:用 COUNTIF 反向验证
去重后用 =COUNTIF(原表A列, 去重后某行) 看每个去重后的值在原表出现过几次。能直接看出有没有”应该被去重但漏了”的。
技巧 5:模糊去重用 Power Query 的”模糊分组”
Power Query 2026 版有「模糊分组」功能,能识别”长得像”的(编辑距离)。AI 给你写 M 代码:
= Table.Group(Source, {"Name"}, {{"Count", each Table.RowCount(_), Int64.Type}}, GroupKind.Local, (x, y) => Number.From(Text.Length(x) <> Text.Length(y) ))
复杂场景比公式强。
一个常见失败案例 + 怎么救
失败场景:发”帮我把 1 万行客户去重”,AI 给了 =UNIQUE(A2:A10001),结果跑完发现”张三”还是出现了 5 次——因为每个”张三”后面带不同空格。
救援步骤:
- 告诉 AI 数据特征:「我的客户名有空格 / 全半角 / 大小写不一致」
- 要求”先清洗再去重”:让 AI 给两步公式:先 TRIM + LOWER,再 UNIQUE
- 要求”看不出区别的当作重复”:明确告诉 AI 这是业务规则
- 抽样验证:去重前后都用 COUNTIF 抽查,对比少了多少行
记住一句话:去重的难点 90% 不在”找重复”,而在”什么算重复”。规则越清晰,结果越准。
进阶玩法 + 类似场景
进阶玩法 1:Power Query 自动化(数据每周更新)
如果原表每周更新,公式每次要重拖。改用 Power Query:
- 数据 - 来自表格/区域
- 主页 - 删除行 - 删除重复项(或自定义规则)
- 关闭并加载
下周数据变了,刷新一下自动跑完整流程。
进阶玩法 2:模糊匹配公司名(编辑距离)
A 表”阿里巴巴(中国)有限公司”、B 表”阿里巴巴集团”——业务上算一家。让 AI 用 LEVENSHTEIN 距离(VBA 函数)或 Power Query 模糊分组算相似度,超过 80% 当一家。
进阶玩法 3:跨表去重 + 补全
A 表 + B 表合并后去重,且同一个客户保留”字段最完整”的那条。让 AI 给”先合并 → 按缺失字段排序 → UNIQUE 保留首条”三步走。
类似场景
常见问题
Q:UNIQUE 函数在 Excel 2019 能用吗? A:不能。UNIQUE 是 Excel 365 / 2021 才有。2019 用 COUNTIF + INDEX + MATCH 数组公式凑,AI 都会给替代方案。
Q:去重后行数和原来差很多正常吗? A:取决于数据。客户表去重 30%-50% 正常(很多人会重复留资);订单表去重 1%-5% 算正常(极少订单完全重复)。如果去重比例反常,先检查规则对不对。
Q:能按”模糊匹配”去重吗(80% 相似)? A:能。3 种思路:1)Power Query 模糊分组;2)VBA 写 LEVENSHTEIN 函数;3)Python pandas + fuzzywuzzy。让 AI 按你的 Excel 版本给方案。
Q:去重时怎么保留”字段最完整”的那条?
A:先加辅助列算”完整度”(如 =COUNTA(A2:E2) 看非空字段数),按完整度倒序排,再 UNIQUE 自然保留首条(也就是最完整的)。
Q:WPS 表格能做这些去重吗? A:能。WPS 2026 版完整支持 UNIQUE / FILTER / Power Query,本文公式 90% 在 WPS 直接跑。Power Query 在 WPS 叫「数据 - 智能表格 - 数据获取与转换」。