如何在Excel中统计整行重复数据并判断是否存在重复行
Excel检测整行重复的方法
先看你的示例数据:
| (row number) | A | B | C |
|---|---|---|---|
| 1 | Butter | 2 | 10$ |
| 2 | Pillow | 2 | 10% |
| 3 | Butter | 2 | 9,99$ |
| 4 | Butter | 2 | 10$ |
要实现「存在完全重复行就返回TRUE」的需求,给你几个实用的函数方案:
方案1:兼容所有Excel版本的通用公式
如果你的Excel不是365版本,用这个公式最稳妥:=SUMPRODUCT(--(COUNTIFS(A:A,A:A,B:B,B:B,C:C,C:C)>1))>0
- 逻辑:
COUNTIFS(A:A,A:A,B:B,B:B,C:C,C:C)会逐行统计整个区域内和当前行完全匹配的行数;--把「行数>1」的布尔值转成数字1(无重复则为0);SUMPRODUCT求和后只要大于0,就说明存在重复行,返回TRUE。 - 扩展:如果数据列不止A、B、C,直接在
COUNTIFS里追加对应列的条件,比如增加D列就加,D:D,D:D。
方案2:Excel 365专属简洁公式
如果你用的是Excel 365(支持动态数组),这个公式更直观:=NOT(ROWS(UNIQUE(A1:C4))=ROWS(A1:C4))
- 逻辑:
UNIQUE(A1:C4)提取所有不重复的行,ROWS分别统计原数据行数和去重后的行数,两者不等就说明有重复,NOT反转判断结果后返回TRUE。
方案3:字符串拼接判断法
还有一种思路是把每行内容拼成一个字符串,再统计重复次数:=MAX(COUNTIF(CONCAT(A1:C4), CONCAT(A1:C4)))>1
- 注意:老版本Excel需要按
Ctrl+Shift+Enter作为数组公式输入,365直接回车即可。
以上方案在你的示例数据里都会返回TRUE,因为第1行和第4行完全一致。
内容的提问来源于stack exchange,提问作者Smoku Znad Potoku
相关产品推荐
相关产品推荐

