大家好,我是G探险者!
在日常办公或数据清洗中,我们经常会遇到一个问题:如何在 Excel 表格中判断是否存在重复的"整行"数据?
这就像数据库中的"重复记录检测",在 Excel 中也完全可以通过函数或内置功能来实现。
本文将介绍几种常用方法,帮助你快速识别重复行。
✅ 场景说明
假设你有这样一个表格:
| 姓名 | 性别 | 城市 |
|---|---|---|
| 张三 | 男 | 北京 |
| 李四 | 女 | 上海 |
| 张三 | 男 | 北京 |
我们希望能判断出:第3行与第1行是重复的整行记录。
🧩 方法一:使用 COUNTIFS 多条件匹配(适用于字段较少)
操作步骤:
-
假设数据区域是 A2:C1001
-
在 D2 单元格输入以下公式:
less=COUNTIFS(A:A, A2, B:B, B2, C:C, C2)>1 -
向下填充公式
结果说明:
- 返回
TRUE:说明这一行是重复行 - 返回
FALSE:说明这一行是唯一的
适用于列数较少(2~5列)的数据表。
🧩 方法二:拼接整行数据 + COUNTIF 判断(适用于列很多的情况)
操作步骤:
-
在 D2 单元格拼接整行内容(以
|分隔):arduino=A2 & "|" & B2 & "|" & C2 -
在 E2 单元格判断是否重复:
scss=COUNTIF(D:D, D2)>1 -
向下填充这两列公式
优势:
- 适合字段数量多的表格
- 不需要为每个字段写
COUNTIFS
🧩 方法三:使用 TEXTJOIN 拼接所有字段(自动适配多列)
如果你有很多列,比如 A 到 Z,你可以这样写:
-
在 D2 输入:
php=TEXTJOIN("|", TRUE, A2:Z2) -
然后在 E2 判断:
scss=COUNTIF(D:D, D2)>1
TEXTJOIN可以自动忽略空单元格,并将多个字段合并为一个字符串。
✅ 方法四:整表是否存在重复行(整体判断)
如果你只想知道表格中是否存在重复整行(不判断哪一行重复),可以这样操作:
-
先在 D2:D1001 中使用
TEXTJOIN拼接整行内容:php=TEXTJOIN("|", TRUE, A2:C2) -
然后在任意单元格输入:
scss=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 |
判断是否存在重复整行(整体) | 判断全表重复即可 |
| 删除重复项 | 操作简单直接,不能标记重复行 | 快速清理表格数据 |