Excel 公式

Excel 怎么去重 / 删除重复项

更新于 2026-06-04 · 阅读约 6 分钟

客户名单、订单记录、手机号列表……重复数据几乎是每张表都会遇到的麻烦。本文讲清 Excel 里三种常见去重办法——哪种适合哪种场景——再教你用超级表一键去重,几万行操作起来也毫不卡顿。


超级表中标记并删除重复行、保留唯一值的示意
找出并删掉重复行——超级表里一键去重。

办法一:数据→删除重复值(最快,但会直接改原数据)

这是 Excel 内置的去重入口,步骤很少:

  1. 选中要去重的数据区域(或点任意一个有数据的单元格)。
  2. 点菜单栏「数据」→「删除重复值」。
  3. 在弹出的对话框里勾选要参与判断的列——只勾一列就是「该列相同算重复」,全勾就是「每列都相同才算重复」。
  4. 点「确定」,Excel 保留第一次出现的行,把其余重复行直接删掉,并弹出提示告诉你删了几条。

这个办法最直接,适合一次性清理、不需要留备份的场景。

注意事项:操作完成后原始数据已被修改,无法撤回(除非立即按 Ctrl+Z)。处理前强烈建议先另存一份或复制一列备份。多列去重时,如果某列有空格或格式不一致(例如「张三 」和「张三」),Excel 会认为它们不同——去重前先清洗格式。

办法二:COUNTIF 标记重复(先看后删,更安全)

如果你不确定哪些行是重复的、不敢直接删,可以先用 COUNTIF 给每行贴标签,再筛选删除。

假设要检查 A 列(如手机号)是否重复,在 B2 输入:

=COUNTIF(A:A, A2)>1

返回 TRUE 表示这个值在 A 列出现了不止一次(是重复的),FALSE 表示唯一。下拉填充整列后,筛选 B 列为 TRUE 的行,逐一确认后删除即可。

想看重复了几次,可以把公式改成:

=COUNTIF(A:A, A2)

返回数字,值为 1 表示唯一,大于 1 表示重复出现的次数。

如果需要按多列组合判断(例如姓名+手机号都相同才算重复),可以用 COUNTIFS:

=COUNTIFS(A:A, A2, B:B, B2)>1

这种办法保留了原数据,给你时间仔细看再决定删不删,比「删除重复值」更安全,也更灵活。

办法三:UNIQUE 函数(新版 Excel,直接提取唯一值)

Microsoft 365 和 Excel 2021 及以上版本新增了动态数组函数 UNIQUE,可以直接把唯一值提取到一个新区域,不破坏原数据:

=UNIQUE(A2:A100)

结果会自动溢出到下方空白单元格,原数据一条不动。如果要按多列组合去重,可以传入多列范围:

=UNIQUE(A2:B100)

Excel 会把 A、B 两列视为一个组合,只要有一列不同就算不重复行,保留下来。

UNIQUE 的缺点是只能在 Microsoft 365 或较新版本 Excel 中使用;老版本 Excel(2016 及以下)不支持,公式会直接报错。

这些办法的麻烦

三种办法各有局限,实际操作时经常踩坑:

  • 「删除重复值」直接删、不可逆:点确认就没了,忘了备份就追悔莫及。
  • 按多列去重容易出错:勾选哪几列、顺序对不对——一旦勾错,数据就删错了,很难发现。
  • COUNTIF 要手动二次操作:先写公式、筛选、再删行,步骤多,几万行的表操作下来费时费力。
  • 大数据量明显变慢:几万行甚至十几万行数据,Excel 的「删除重复值」卡顿严重,COUNTIF 全表扫描也会让 Excel 转圈。
  • UNIQUE 有版本限制:老版本 Excel 不能用,共享给别人的文件也可能出兼容性问题。
一句话总结痛点
Excel 去重能做,但要么删了不可逆、要么步骤繁琐、要么版本受限、要么大数据跑不动。去重这件事,本可以更简单。

更简单:超级表一键去重(可先预览再确认)

超级表(TableDI)是一款桌面端高能表格助手,macOS 和 Windows 均可使用,离线本地运行,无需登录。它把「去重」做成了一个可视化的一键操作——在真正删行之前,你可以先预览哪些行会被删掉,确认无误再执行。

步骤如下:

  1. 把 Excel 文件拖进超级表,或直接新建表格粘入数据。
  2. 点击工具栏「一键去重」按钮。
  3. 选择参与去重判断的列——可以选单列,也可以多选几列做组合判断。
  4. 超级表会先高亮显示将被删除的重复行,你可以逐行确认,也可以直接点「确认删除」。
  5. 完成后只保留每组重复中最先出现的那条,其余删除。

全程可预览、可取消,几万行的表格操作也流畅不卡顿。如果数据格式参差不齐(例如「上海」和「上海 」多了空格),还可以配合超级表 AI 一句话清洗数据,先清洗再去重,一气呵成。

超级表做法 vs Excel 去重

对比项 Excel 删除重复值 Excel COUNTIF 标记 超级表
能否预览再删 否,直接删 筛选后手动看 先高亮预览,确认再删
按多列组合去重 勾列,容易选错 COUNTIFS,要自己写 点选多列,简单
几万行速度 明显卡顿 全表扫描,慢 跟手不卡
操作步骤 3 步 5 步以上 3 步以内
数据格式不一致 「张三」≠「张三 」,漏删 同上 可先 AI 清洗再去重
版本要求 Excel 2007+ Excel 2007+ macOS / Windows,离线

常见问题

怎么按多列去重?

在 Excel 的「删除重复值」对话框里,勾选多列即可——勾选的列全部相同才会被认为是重复行。例如勾选「姓名」和「手机号」两列,只有姓名和手机号都完全一样的行才会被删掉,其中一列不同就保留。用 COUNTIF 标记时,改用 COUNTIFS 传入多组「列+条件」就行,详见COUNTIF 计数与统计重复

去重保留第一条还是最后一条?

Excel 的「删除重复值」默认保留第一条出现的行,删掉后续的重复行。如果你想保留最后一条,可以先把数据整体倒序排列(把最后一条变成第一条),再运行去重,然后重新排回去。超级表同样保留最先出现的那条。

怎么只统计重复数量、不删数据?

COUNTIF 函数即可。在辅助列写 =COUNTIF(A:A, A2),返回这个值在 A 列出现的总次数;值大于 1 说明有重复。这样只是标注,不改动原数据,想删的时候筛选再手动删。超级表也支持「标记重复」模式,先看清楚再决定删不删。

不想再为去重提心吊胆?

免费下载超级表,先预览哪些行会被删,确认无误再一键去重

免费下载(macOS / Windows)