🤖 AI 跟我学 新手入门

Excel 去重 AI 实操:1 分钟洗白万行数据

Excel 去重 AI 教程:用 AI 一句话搞定 UNIQUE 公式、Power Query 去重、模糊去重,含 5 个真实场景、3 种工具对比和"长得像但不一样"数据的清洗思路

发布 2026/05/20 📎 参考官方文档

你拿到一份客户名单,1 万行,老板让你”去掉重复客户”。打开一看:同一个客户名出现了 8 次——有的”张三”,有的”张三 “(带空格),有的”张 三”(中间俩空格),有的”张三(北京)“。Excel 内置的「删除重复值」按钮只认”一模一样”的,剩下 4 种变体它都拆不出来。这时候让 Excel 去重 AI 出手,3 分钟搞定。

把你的去重规则用大白话告诉 AI,AI 给你一个 UNIQUE 公式 + 清洗 + 模糊匹配组合方案。本文给你万能 prompt 模板 + 5 个真实场景 + 3 种”看起来重复但不是完全重复”的处理思路。

为什么 Excel 自带的”删除重复值”不够用

Excel「数据 - 删除重复项」3 个硬伤:

  1. 只认精确匹配:“张三” 和 “张三 “(带空格)当作 2 条不同记录
  2. 没法跨列模糊匹配:电话号 “138-1234-5678” 和 “13812345678” 当不同
  3. 删了就回不来了:直接物理删除,没法标记 / 不可逆

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 工具:

📋 Prompt 模板

你是一位资深 Excel 数据清洗专家,擅长用 UNIQUE/COUNTIF/Power Query 三种方式做精确去重、模糊去重、跨列联合去重。

我的需求: [用大白话描述要去什么重。比如「在 5000 行客户表里,按姓名+手机号联合去重,保留每组第一条记录」]

数据样本(前 5 行): A 列:[列名] B 列:[列名] C 列:[列名]

  1. [样本数据]
  2. [样本数据] …

去重规则:

  • 按哪些列联合判断重复:[列举]
  • 重复定义:[精确匹配 / 忽略空格 / 忽略大小写 / 忽略全半角]
  • 保留哪一条:[第一条 / 最后一条 / 字段最完整的那条]

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 种常见定义,选一种或组合:

  1. 完全相同:所有列一字不差
  2. 指定列相同:比如只看姓名+手机
  3. 指定列忽略格式:比如手机号忽略横杠
  4. 指定列模糊匹配:比如公司名 80% 相似度
  5. 业务规则:比如同一身份证当一个人

把定义写清楚再发 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 次——因为每个”张三”后面带不同空格。

救援步骤

  1. 告诉 AI 数据特征:「我的客户名有空格 / 全半角 / 大小写不一致」
  2. 要求”先清洗再去重”:让 AI 给两步公式:先 TRIM + LOWER,再 UNIQUE
  3. 要求”看不出区别的当作重复”:明确告诉 AI 这是业务规则
  4. 抽样验证:去重前后都用 COUNTIF 抽查,对比少了多少行

记住一句话:去重的难点 90% 不在”找重复”,而在”什么算重复”。规则越清晰,结果越准

进阶玩法 + 类似场景

进阶玩法 1:Power Query 自动化(数据每周更新)

如果原表每周更新,公式每次要重拖。改用 Power Query:

  1. 数据 - 来自表格/区域
  2. 主页 - 删除行 - 删除重复项(或自定义规则)
  3. 关闭并加载

下周数据变了,刷新一下自动跑完整流程。

进阶玩法 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 叫「数据 - 智能表格 - 数据获取与转换」。