Excel怎么统计重复次数?5种方法从入门到精通
引言
处理一份几千行的客户名单,手工核对哪些名字重复出现了多少次——这种操作不仅耗时,还容易漏掉关键信息。其实,Excel怎么统计重复次数这件事,内置函数和工具就能一键搞定,根本不需要逐行肉眼比对。
本文整理了 5 种主流方法,覆盖从新手到进阶的使用场景:既有一行 COUNTIF 公式的轻量方案,也有数据透视表和条件格式的可视化手段,还会讲到如何处理大小写敏感、多列联合判断等实际工作中容易踩的坑。
方法一:COUNTIF 函数——最基础的重复计数
COUNTIF 是 Excel 中专门用于按条件计数的函数,语法只有两个参数:=COUNTIF(范围, 条件)。把它用在统计重复次数上,逻辑非常直接:在数据旁边新建一列辅助列,让 COUNTIF 去统计当前行数据在整个范围里出现了几次。
假设数据在 A 列,从 A2 开始。在 B2 输入:
=COUNTIF($A$2:$A$100, A2)

注意第一个参数用了绝对引用(带 $ 符号),这样向下拖动填充时,查找范围始终锁定在 A2:A100,不会偏移。B 列显示的数值就是 A 列对应单元格在整个列表中的出现总次数——数字为 1 表示唯一,大于 1 的数值就是重复次数。
如果还想让结果更直观,可以在 COUNTIF 外面套一层 IF 函数,自动标记"重复"或"唯一":
=IF(COUNTIF($A$2:$A$100, A2)>1, "重复", "唯一")
这种方式特别适合数据量在几百到几千行之间的场景,操作门槛最低,改动也灵活。
方法二:动态范围判断"第几次出现"
上面的基础 COUNTIF 会把所有重复值统一标记,但有时你需要区分某个值是第几次出现。比如一份名单里,"张三"重复了 3 次,你希望第一行显示 1、第二行显示 2、第三行显示 3——这在数据清洗和去重保留"首次出现"的场景中非常实用。
关键区别在于把绝对引用改成混合引用,让范围随公式下拉而"逐步扩大":
=COUNTIF($A$2:A2, A2)
这里的范围是 $A$2:A2:起始行被 $ 锁死,终止行随公式下拉自动扩展。当公式在 B2 时,范围只有 A2:A2,COUNTIF 永远返回 1;拖到 B3 后范围变成 A2:A3,如果 A3 的值在 A2 已经出现过一次,结果就是 2。
配合筛选功能,你可以快速过滤出所有次数大于 1 的"非首次出现"记录,实现精准去重,保留每个值的第一次出现。
方法三:数据透视表——大批量数据的高效汇总
如果你的数据有几万行甚至更多,COUNTIF 公式会因为全表扫描而变得卡顿。这时候,数据透视表是更优的选择——它不仅计算速度快,还能一键生成按值分组的重复频率表。
操作流程很简单:
- 选中数据区域,点击"插入" → "数据透视表",选择放在新工作表。
- 在右侧字段面板中,把需要统计的列字段拖入"行"区域(显示唯一值列表)。
- 把同一个字段再次拖入"值"区域,右键 → "值字段设置" → 选择"计数"。
透视表会自动列出每个值及其出现次数。如果只想看重复项,点击行标签旁的下拉箭头,选择"值筛选" → "大于",输入 1,表格中就只保留出现次数超过 1 的记录。
在 WPS 表格中,数据透视表的操作逻辑与 Excel 完全一致,选中数据后同样在"插入"菜单中一键创建,兼容性不需要额外配置。
方法四:条件格式——不用公式也能一眼看出重复
如果你只需要"快速扫一眼哪些数据重复了"而无需精确计数,条件格式是最省力的方案。它不需要写任何公式,3 步就能让所有重复值自动变色:
- 选中数据区域。
- 点击"开始" → "条件格式" → "突出显示单元格规则" → "重复值"。
- 在弹出的对话框中选择高亮颜色(如浅红填充深红文本),点击确定。
所有出现超过一次的值会被瞬间标记出来。这种方法的优势在于"实时性"——后续新增数据如果与已有内容重复,也会自动高亮,适合需要持续维护和更新的工作表。
进阶用法:如果默认的"重复值"高亮不够灵活(比如你想只高亮第 3 次及以后的重复),可以选"新建规则" → "使用公式确定要设置格式的单元格",输入:
=COUNTIF($A$2:A2, A2)>=3
这样就可以把"同一个值出现 3 次及以上的记录"单独标出来,在处理批量数据时过滤噪音。
方法五:SUMPRODUCT 与 UNIQUE——统计"有多少个不重复值"
有时候你关心的不是每个值重复了多少次,而是"这个列表里到底有多少个不同的值"。比如一份产品编码表中,你想知道共有多少种不同的 SKU。
对于 Excel 2019 及更早版本,经典的解法是用 SUMPRODUCT 搭配 COUNTIF:
=SUMPRODUCT(1/COUNTIF(A:A, A:A))
这个公式的原理很巧妙:COUNTIF 先算出每个值在全列的出现次数,然后用 1 除以这个次数。如果"苹果"出现了 3 次,3 个"苹果"各得 1/3,加起来正好等于 1。SUMPRODUCT 把所有倒数求和,得到的恰好是不重复值的总数。
如果你用的是 Excel 365 或较新版本的 WPS 表格(支持动态数组),事情更简单——UNIQUE 函数直接一步到位:
=UNIQUE(A:A)
配合 COUNTA 即可得出不重复值的数量。如果想直接提取所有重复出现的项,还可以组合 FILTER:
=UNIQUE(FILTER(A:A, COUNTIF(A:A, A:A)>1))
这条公式会列出所有出现超过 1 次的值(去重后),非常适合做数据质量报告。
五种方法对比速查表
不同方法适合不同场景,下面这张表格帮你快速判断该用哪一种:
| 方法 |
适合场景 |
是否需要公式 |
适合数据量 |
核心优势 |
| COUNTIF 基础版 |
逐行显示每个值的重复次数 |
是 |
百~万行 |
灵活、可嵌套 IF 自定义标记 |
| COUNTIF 动态范围 |
标记第几次出现,保留首次 |
是 |
百~万行 |
精准区分第 1/2/3 次重复 |
| 数据透视表 |
大批量汇总,生成频率表 |
否 |
万~百万行 |
速度快、可交互筛选 |
| 条件格式 |
快速目视检查,持续监控 |
否 |
任意 |
零公式、实时自动更新 |
| SUMPRODUCT / UNIQUE |
统计不重复值总数,提取重复项列表 |
是 |
百~万行 |
公式优雅,一键得出统计结果 |
常见问题与避坑指南
1. 大小写敏感问题。默认的 COUNTIF 不区分大小写,"APPLE"和"apple"会被视为相同值。如果业务场景要求严格区分大小写(如产品编码中大写和小写代表不同 SKU),需要使用 EXACT 函数配合数组公式实现精确匹配。
2. 多列联合判断重复。只看单列可能不够。比如"订单号+商品编码"组合才能唯一标识一条记录。这时应改用 COUNTIFS 函数,同时指定多列范围和条件:
=IF(COUNTIFS($A$2:$A$100, A2, $B$2:$B$100, B2)>1, "重复行", "")
3. 空白单元格被误判。如果数据区域中有空行,COUNTIF(A:A, A2) 会把空白也统计进去。建议先清理空行,或在公式中排除空值:
=IF(A2="", "", COUNTIF($A$2:$A$100, A2))
4. 性能问题。COUNTIF 在超大范围(如整列引用 A:A)且数据超过几万行时计算会变慢。建议使用精确范围(如 $A$2:$A$10000)代替整列引用,或者改用数据透视表处理海量数据。以 WPS 表格为例,其对 .xlsx 格式的底层解析经过专门优化,处理数万行级别的 COUNTIF 计算和透视表刷新时,响应速度与主流办公软件保持同等水准,且免费版即可使用上述全部功能。
总结
回到最初的问题:Excel怎么统计重复次数?答案不是一个公式,而是一套根据场景选择工具的思维方式:
- 日常轻量统计,COUNTIF 一行公式足够。
- 需要区分第几次出现、保留首次记录,用动态范围版本。
- 数据量大、需要汇总分析,数据透视表效率最高。
- 只想快速看一眼哪些重复了,条件格式最省事。
- 统计不重复值个数或提取重复项列表,SUMPRODUCT 和 UNIQUE 各有所长。
在实际工作中,这五种方法经常组合使用。比如先用条件格式标记异常值,再用数据透视表生成汇总报告,最后用 COUNTIF 动态范围精准定位需要处理的记录。掌握了 Excel 统计重复次数的核心逻辑,无论面对客户名单、库存清单还是财务流水,都能快速定位重复数据,做出准确的分析判断。