使用公式提取一列数据中的重复值
在Excel中提取一列数据中的重复值,可通过多种公式实现,以下是几种高效且常用的方法:
使用 FILTER + COUNTIF 动态提取重复值列表
适用场景
直接生成重复值的唯一列表(Excel 365/2021版本适用)。
公式
=UNIQUE(FILTER(A2:A10, COUNTIF(A2:A10, A2:A10)>1))
步骤
在B2单元格输入公式后按 Enter,自动生成唯一重复值的列表(去重);
若要保留多次出现的重复项(非去重),移除 UNIQUE函数:
=FILTER(A2:A10, COUNTIF(A2:A10, A2:A10)>1)
原理
COUNTIF(A2:A10, A2:A10)>1 生成逻辑数组,标记重复数据;
FILTER 根据逻辑数组提取对应数据;
UNIQUE 对结果去重。
优缺点
动态数组一键生成结果,但由于 FILTER 和 UNIQUE 为Excel 365/2021版本的新函数,此方法仅适用于Excel 365/2021及以上版本。
使用 COUNTIF 公式标记重复项
适用场景
标记重复项出现次数,或筛选重复值。
公式
=IF(COUNTIF($A$2:$A$10, A2)>1, "重复", "")
步骤
在B2单元格输入公式,下拉填充至数据末尾;
若结果返回【重复】,则该单元格对应A列值为重复数据;
筛选B列中的【重复】,即可提取所有重复项。
原理
COUNTIF($A$2:$A$10, A2) 统计A2在A2:A10中出现的次数。
>1 表示出现超过1次即为重复。
优缺点
此方法兼容所有Excel版本,但需要借助辅助列筛选。
使用条件格式快速高亮重复项
适用场景
可视化标识重复值(无需公式列)。
步骤
选中数据列(如A2:A10);
点击【开始】→【条件格式】→【突出显示单元格规则】→【重复值】;
点击【确定】,则以默认格式(㳀红填充色深红色文本)设置高亮格式;
重复项自动标记(㳀红填充色深红色文本)。
优缺点
可视化标识重复值,但无法直接导出列表,还需要进一步按颜色筛选才能得到重复值。
数据透视表统计重复次数
适用场景
统计重复频次并提取清单。
步骤
选中数据区域,点击【插入】→【数据透视表】;
将目标字段分别拖入【行】和【值】区域;
在【值】字段设置中,选中默认的【求和项】,下拉列表选择【值字段设置】,计算类型选择【计数】,点击【确定】;
筛选“计数 >1”的行,即为重复值及其出现次数。
优缺点
可同时统计频次,支持大数据量,但是需手动操作界面。
低版本Excel无 FILTER 函数怎么办?
使用 INDEX + SMALL 数组公式:
=INDEX($A$2:$A$10, SMALL(IF(COUNTIF($A$2:$A$10, $A$2:$A$10)>1, ROW($A$2:$A$10)-1), ROW(A1)))
公式下拉填充则得到重复数据列,但是超出了重复数据个数会显示错误。
原理
COUNTIF($A$2:$A$10, $A$2:$A$10)>1 生成逻辑数组,标记重复数据,重复的标记 TRUE,非重复标记 FALSE;
IF(COUNTIF($A$2:$A$10, $A$2:$A$10)>1, ROW($A$2:$A$10)-1) 如果是重复数据(标记 TRUE)则生成与之对应的位置序列号;
SMALL 将位置序列号按从小到大排序。
INDEX 按给定的位置提取重复的数据。