如何使用Excel函数查找每行中的重复值?
Excel查找每行重复值的函数方法
先看示例数据:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | a | b | c | c |
| 2 | b | a | d | e |
| 3 | c | d | b | a |
| 4 | b | d | d | d |
| 5 | e | a | d | e |
针对每行任意列可能出现的重复值,提供以下几种实用函数方案:
1. 判断该行是否存在重复值
在该行右侧空白单元格(比如E1)输入公式,下拉即可批量判断:
=IF(SUMPRODUCT(COUNTIF(A1:D1,A1:D1))>COLUMNS(A1:D1),"存在重复值","无重复值")
原理:COUNTIF(A1:D1,A1:D1)会生成对应单元格在当前行的出现次数数组,SUMPRODUCT求和后,若总和大于该行的列数(唯一值情况下总和等于列数),则说明存在重复。
2. 标记每个重复的单元格
在对应单元格右侧(比如F1)输入公式,下拉填充后,重复的单元格会显示"重复":
=IF(COUNTIF(A1:D1,A1)>1,"重复","")
原理:统计当前单元格内容在该行的出现次数,大于1则标记为重复。
3. 提取该行的重复值(Excel 365及以上版本)
提取第一个重复值
=INDEX(A1:D1,MATCH(TRUE,COUNTIF(A1:D1,A1:D1)>1,0))
(注:非365版本需按Ctrl+Shift+Enter作为数组公式输入)
提取所有重复的唯一值(用逗号分隔)
=TEXTJOIN(", ",TRUE,UNIQUE(FILTER(A1:D1,COUNTIF(A1:D1,A1:D1)>1)))
原理:FILTER筛选出该行出现次数大于1的单元格,UNIQUE去重后,TEXTJOIN拼接成字符串。
内容的提问来源于stack exchange,提问作者js u
相关产品推荐
相关产品推荐

