大家好,我是G探险者!
在日常办公或数据清洗中,我们经常会遇到一个问题:如何在 Excel 表格中判断是否存在重复的“整行”数据?
这就像数据库中的“重复记录检测”,在 Excel 中也完全可以通过函数或内置功能来实现。
本文将介绍几种常用方法,帮助你快速识别重复行。
✅ 场景说明
假设你有这样一个表格:
姓名 | 性别 | 城市 |
---|---|---|
张三 | 男 | 北京 |
李四 | 女 | 上海 |
张三 | 男 | 北京 |
我们希望能判断出:第3行与第1行是重复的整行记录。
🧩 方法一:使用 COUNTIFS
多条件匹配(适用于字段较少)
操作步骤:
-
假设数据区域是 A2:C1001
-
在 D2 单元格输入以下公式:
=COUNTIFS(A:A, A2, B:B, B2, C:C, C2)>1
-
向下填充公式
结果说明:
- 返回
TRUE
:说明这一行是重复行 - 返回
FALSE
:说明这一行是唯一的
适用于列数较少(2~5列)的数据表。
🧩 方法二:拼接整行数据 + COUNTIF
判断(适用于列很多的情况)
操作步骤:
-
在 D2 单元格拼接整行内容(以
|
分隔):=A2 & "|" & B2 & "|" & C2
-
在 E2 单元格判断是否重复:
=COUNTIF(D:D, D2)>1
-
向下填充这两列公式
优势:
- 适合字段数量多的表格
- 不需要为每个字段写
COUNTIFS
🧩 方法三:使用 TEXTJOIN
拼接所有字段(自动适配多列)
如果你有很多列,比如 A 到 Z,你可以这样写:
-
在 D2 输入:
=TEXTJOIN("|", TRUE, A2:Z2)
-
然后在 E2 判断:
=COUNTIF(D:D, D2)>1
TEXTJOIN
可以自动忽略空单元格,并将多个字段合并为一个字符串。
✅ 方法四:整表是否存在重复行(整体判断)
如果你只想知道表格中是否存在重复整行(不判断哪一行重复),可以这样操作:
-
先在 D2:D1001 中使用
TEXTJOIN
拼接整行内容:=TEXTJOIN("|", TRUE, A2:C2)
-
然后在任意单元格输入:
=COUNTA(D2:D1001) > COUNTA(UNIQUE(D2:D1001))
- 返回
TRUE
:表示存在重复行 - 返回
FALSE
:表示没有重复行
注意:需要 WPS 2021 / Excel 365 或更高版本支持
UNIQUE
函数。
✨ 方法五:使用 Excel 内置“删除重复项”功能
- 选中数据区域(包括标题)
- 点击【数据】→【删除重复项】
- 选择所有列,点击确定
- Excel 会提示你重复了几行,并删除重复值
可用于快速去重,但操作前建议先保存原数据。
🔚 总结
方法 | 特点 | 推荐使用场景 |
---|---|---|
COUNTIFS | 写法清晰,适合字段较少 | 2~5 列的数据表 |
拼接 + COUNTIF | 灵活高效,适合字段较多 | 6列以上、重复逻辑复杂 |
TEXTJOIN | 自动拼接整行 | Excel/WPS 新版 |
UNIQUE | 判断是否存在重复整行(整体) | 判断全表重复即可 |
删除重复项 | 操作简单直接,不能标记重复行 | 快速清理表格数据 |