乐于分享
好东西不私藏

Excel函数 | COUNTIF从入门到精通,这一份教程足够了

Excel函数 | COUNTIF从入门到精通,这一份教程足够了

全文约 3000 字,阅读时间约 8 分钟。内容覆盖 COUNTIF 基础语法、入门案例、精准与模糊匹配区别、日常高频"坑"及解决方案、进阶实用技巧。适合零基础办公新手,也可作为日常查阅手册。


一、COUNTIF 到底是什么?一句话说清楚

COUNTIF = Count(数个数)+ If(如果满足条件)

它干的事就一件:数一数指定范围内,有多少个单元格满足你设定的条件。

举几个生活中的例子你就明白了:

  • • 数一数这份名单里有多少人叫"张三" → =COUNTIF(A:A,"张三")
  • • 数一数这次考试有多少人及格(≥60分) → =COUNTIF(B:B,">=60")
  • • 数一数有多少订单是"已发货"状态 → =COUNTIF(C:C,"已发货")

看到没?所有场景都在回答同一个问题:满足条件的单元格,一共有多少个? 这就是 COUNTIF。


二、基础语法:三个部分,就记住了

COUNTIF 只有两个参数,特别简单:

=COUNTIF(要查找的范围, 查找的条件)
参数
什么意思
举例子
范围
你要去哪里找
A:A(整列)、A1:A100(第1到100行)、B:B(姓名列)
条件
找什么样的
">=60"、"优秀"、A2(引用单元格的值)

就这么简单,两个参数,不用记第三个。

⚠️ 特别注意:条件参数必须加引号(文本和比较运算符都要),直接引用单元格时不用加引号。

✅ 正确:=COUNTIF(A:A,">=60")✅ 正确:=COUNTIF(A:A,A2)(引用单元格,条件来自A2)❌ 错误:=COUNTIF(A:A,>=60)(少了引号)


三、从零开始:3 个入门案例

案例 1:统计"张三"出现了几次

想象你手里有一份员工名单在 A 列,现在想数一下"张三"出现了几次。

=COUNTIF(A:A,"张三")

结果:名单里有几个"张三",就返回几。


案例 2:统计不及格人数(分数在 B 列)

考试分数在 B 列,不及格线是 60 分。

=COUNTIF(B:B,"<60")

大于等于 用 ">="小于等于 用 "<="不等于 用 "<>"

小技巧:条件里的比较运算符(>、<、>=、<=、<>)都是英文符号,不是中文!


案例 3:统计订单金额超过 1000 元的单数

金额在 C 列:

=COUNTIF(C:C,">1000")

注意:数值条件直接写,不要加元、人民币等文字符号。条件 ">1000" 只认数字 1000,不认"1000元"。


四、精准匹配 vs 模糊匹配:搞清楚这个,用起来就通了

这是 COUNTIF 最重要的概念,很多人用错就是因为没分清这两种匹配方式。

精准匹配(默认)

条件是什么,就只数什么,一字不差。

=COUNTIF(A:A,"张三")      → 只数"张三",不数"张三丰"、"李张三"=COUNTIF(A:A,"已发货")    → 只数"已发货",不数"已发货(部分)"

模糊匹配(通配符)

用特殊符号替代任意字符,最常用的两个:

通配符
含义
举例子
*
(星号)
代表任意数量的任意字符
"张*"
 = 所有姓张的人
?
(问号)
代表一个任意字符
"张?"
 = 张某(张三、张四、张五)

模糊匹配实例

① 统计所有姓"张"的人数

=COUNTIF(A:A,"张*")

包含"张龙"、"张无忌"、"张力"……所有以"张"开头的人都算进去。

② 统计产品名以"手机"开头的产品数量

=COUNTIF(B:B,"手机*")

"手机"、"手机壳"、"手机配件"都能匹配到。

③ 统计产品名是"X商品"(两字商品)的数量

=COUNTIF(B:B,"?商品")

"X商品"中 X 只能是任意一个字符,所以能匹配"手机"、"电脑"、"家具"等任意一个字符+商品两个字。注意:这里的"商品"是固定文字,所以直接写。

⚠️ 模糊匹配注意区分:

如果产品列表里既有"手机"又有"手机壳",想只统计"手机"(不包含"手机壳")应该用精准匹配:

=COUNTIF(B:B,"手机")

如果写成 "手机*","手机壳"也会被匹配进来,数字就会偏大。


五、日常高频"坑":遇到问题别慌,看这里

坑 1:明明有这个值,COUNTIF 却返回 0

最常见原因:空格!

单元格里的值可能看起来是"张三",实际上后面多了一个空格,变成"张三 "。肉眼完全看不出来,但 COUNTIF 严格区分,会认为不一样。

解决方法

  • • 用 TRIM() 函数先把空格去掉:
    =COUNTIF(A:A,TRIM("张三 "))
  • • 或者在条件里手动加空格:"张三 "
  • • 最根本:检查原始数据,手动删除多余空格

另一个原因:全角半角不一致

中文逗号","和英文逗号","完全不同。如果条件里有标点符号,确保全角/半角一致。


坑 2:条件用了相对引用,公式下拉后范围跑偏了

假设你在 C1 输入了公式:

=COUNTIF(A:A,">=60")

下拉一格变成:

=COUNTIF(B:B,">=60")  ← A列变成B列了!

原因A:A 是相对引用,会随公式位置变化而变化。

解决方法

  • • 如果要锁定 A 列,在列标前加 $$A:$A
  • • 完整写法:=COUNTIF($A:$A,">=60")
  • • 这样下拉时,A 列永远不变

💡 技巧:如果只查固定范围(如 A1:A100),也要记得加 $$A$1:$A$100


坑 3:列被删除或插入后,COUNTIF 出错

如果你的公式引用的是范围 A1:A100,某天在第 5 行前插入了一行新数据,原来的"第6行"会变成"第7行",公式可能随之错位。

解决方法:使用整列引用(如 A:A),或者使用结构化引用(Excel 表格),避免行列变化的影响。


坑 4:数字和文本混在一起,查找不到

在 Excel 里,数字 100 和文本 "100" 是两个完全不同的值。

如果 A 列里有些数字是数值格式、有些是文本格式(前面有绿色三角),直接用 =COUNTIF(A:A,"100") 可能只能匹配到一种格式的数据。

解决方法

  • • 先统一格式:用 VALUE() 把文本转数值,或用 TEXT() 把数值转文本
  • • 检查格式:选中单元格 → 右键 → 设置单元格格式
  • • 如果有混合格式,可以两个条件相加:
    =COUNTIF(A:A,"100")+COUNTIF(A:A,100)

六、进阶实用技巧:让你的 COUNTIF 更强大

技巧 1:COUNTIF + 其他函数,威力翻倍

① 不区分大小写统计

COUNTIF 本身不区分大小写,"ABC" 和 "abc" 视为相同。如果需要区分,可用 SUMPRODUCT 配合 EXACT 函数,这里不展开,新手记住这一点就够了。

② 统计非空单元格数量

=COUNTIF(A:A,"<>")

<> 表示"不等于空",也就是所有有内容的单元格都算。

③ 统计空白单元格数量

=COUNTIF(A:A,"")

一个空字符串,引号里什么都没有。


技巧 2:COUNTIFS——多条件统计(COUNTIF 升级版)

当需要一个条件不够用时,用 COUNTIFS

=COUNTIFS(条件范围1, 条件1, 条件范围2, 条件2)

例子:统计"北京"地区"销售额"超过 10000 的订单数量

=COUNTIFS(A:A,"北京", B:B,">10000")

注意COUNTIFS 的条件范围和条件是成对出现的,范围1配条件1,范围2配条件2,不能错位。


技巧 3:统计唯一值数量(去重计数)

想知道某列里有多少个不重复的值(去重后有几个),可以用数组公式:

=SUMPRODUCT(1/COUNTIF(A:A, A:A))

原理COUNTIF(A:A,A:A) 先统计每个值出现的次数,然后 1/次数,最后求和。出现 N 次的值贡献 1/N,N 次相加等于 1,完美实现去重计数。

⚠️ 这个公式处理大量数据时运行较慢,数据量大(>10000行)慎用。


技巧 4:结合 COUNTIF 做数据验证(防重复输入)

在 Excel 的"数据验证"里,可以用 COUNTIF 设置规则,防止用户重复录入身份证号、手机号等唯一标识:

  1. 1. 选中要验证的列(如 A 列)
  2. 2. 点击"数据" → "数据验证"
  3. 3. 允许条件选"自定义"
  4. 4. 公式输入:=COUNTIF($A:$A,A1)=1
  5. 5. 出错警告里写"该数据已存在,请勿重复录入"

这样用户输入重复数据时,Excel 会自动弹出提示,防止录入错误。


技巧 5:用 COUNTIF 配合条件格式,高亮重点数据

当你想一眼看到哪些数据"有问题"或"需要关注"时:

  1. 1. 选中数据区域(如 B 列)
  2. 2. 点击"开始" → "条件格式" → "新建规则"
  3. 3. 选"使用公式确定要设置格式的单元格"
  4. 4. 公式输入:=COUNTIF($D:$D,B1)=0(含义:B列中的值,如果D列里一个都没有,就高亮显示——常用于标记"缺失匹配"的数据)
  5. 5. 设置填充颜色(如红色背景)

七、一图总结:COUNTIF 速查表

使用场景
公式写法
备注
统计"苹果"出现次数
=COUNTIF(A:A,"苹果")
精准匹配
统计"苹果"开头的产品
=COUNTIF(A:A,"苹果*")
模糊匹配
统计≥60分的人数
=COUNTIF(B:B,">=60")
数值比较
统计不及格人数
=COUNTIF(B:B,"<60")
数值比较
统计非空单元格
=COUNTIF(A:A,"<>")
非空
统计空单元格
=COUNTIF(A:A,"")
空白
多条件统计
=COUNTIFS(A:A,"北京",B:B,">10000")
COUNTIFS
去重计数
=SUMPRODUCT(1/COUNTIF(A:A,A:A))
唯一值

写在最后

COUNTIF 是 Excel 中最基础也最实用的函数之一。学会用它,你就迈出了数据处理的第一步。

记住核心三点:

  1. 1. 它数个数,不做加法
  2. 2. 条件要加引号,比较运算符要用英文符号
  3. 3. 模糊匹配靠通配符* 和 ?,精准匹配靠字面量

遇到问题先查空格和格式,这两个是最常见的"坑"。多练几次,你也能成为办公室里的 Excel 高手。


如果觉得有用,欢迎转发给需要的同事朋友。也欢迎留言告诉我还想学哪个 Excel 函数,我们下期见!