COUNTIF 函数
COUNTIF 只统计满足一个条件的单元格——重复的订单号、及格人数,或状态为「已发货」的行。两个条件以上改用 COUNTIFS。如果要统计的是文本而不是数字,用通配符作为条件。
COUNTIF 函数语法与 2 个参数
COUNTIF(条件计数)逐格检查 range,统计符合 criteria 的单元格。它只负责「数几个」,不负责求和——一个条件、一个数字。
要检查的区域(例如状态列 B2:B6,或订单号 A2:A11)。COUNTIF 会在这里逐格比对 criteria。
条件:文本加引号("Shipped")、数字不用(60)、比较运算符整体是字符串(">=60")、可拼接单元格(">=" & E1)、通配符("*apple*" 或 "*")。
COUNTIF 示例:统计已发货的订单
B 列是订单状态。这条 COUNTIF 示例只计算状态为 Shipped 的行。
| 订单 | 状态 |
|---|---|
| ORD-1 | Shipped |
| ORD-2 | Pending |
| ORD-3 | Shipped |
| ORD-4 | Cancelled |
| ORD-5 | Shipped |
COUNTIF 在 B2:B6 中找出 Shipped,结果是 3。多一个条件时改用 COUNTIFS。若要统计含文本的单元格而不是某个单词,用 =COUNTIF(A2:A6,"*")——星号只命中文本,数字和空白不算。
COUNTIF 与 COUNTIFS:一个条件对多个条件
COUNTIF 只有一组「区域、条件」。COUNTIFS 把条件一对一对往后加,而且每一对都要成立才计入。它没有求和区域,不要把 SUMIFS「先放数字列」的习惯带过来。
| 区域 | 状态 |
|---|---|
| North | Shipped |
| South | Shipped |
| North | Pending |
| North | Shipped |
四行里同时是 North 又是 Shipped 的有 2 行。只写 COUNTIF(B2:B5, "Shipped") 会得到 3,因为 South 那行也被算进去。多条件用 COUNTIFS,单条件留在 COUNTIF。
怎么数含文本的单元格
COUNT 只数数字,COUNTA 连空白以外的都算。要只数文本,把条件写成通配符 "*"。星号命中任意文本,数字和真正的空白单元格不算。
| 单元格 | 值 |
|---|---|
| A2 | apple |
| A3 | 12 |
| A4 | — |
| A5 | banana bread |
| A6 | 4 |
结果是 2:apple 与 banana bread。12 和 4 是数字,A4 是空白,都不计。若要「至少一个字符」,改成 "?*"。若要包含某个词,改成 "*bread*",这里会得到 1。匹配不区分大小写。公式返回的空字符串 "" 对 ISTEXT 算文本,但 COUNTIF 的 "*" 不会把它算进去。
COUNTIF 最常踩的 4 个陷阱
1. 条件的引号
文本条件必须加引号:"Shipped"。纯数字不用:60。比较运算符是一个字符串:">=60"。把 >=60 裸写进公式会直接语法错误。阈值如果在单元格里,用 ">=" & E1。
2. 把 COUNTIFS 写成 SUMIFS
SUMIFS 的第一个参数是求和区域。COUNTIFS 没有这个参数,开头就是第一个条件区域。多塞一个数字列,公式会对不齐,结果是 0 或 #VALUE!。
3. 通配符与大小写
COUNTIF 不区分大小写(shipped = Shipped)。"North*" 会命中 North 和 Northeast。要精确等于某个值时,不要加星号。
4. 返回 0 的常见原因
条件前后有隐藏空格(用 TRIM)、数字其实存成文本,或你用 "*" 去数数字。COUNTIF 对不上就返回 0,不会另外报错。
Excel 与 Google Sheets
Microsoft Excel (365 / Desktop)
Excel 的 COUNTIF / COUNTIFS 支持跨工作表:=COUNTIF(Sheet2!B:B, "Shipped")。COUNTIFS 从 Excel 2007 起可用。整列引用方便,但大表上比锁定的数据区域慢。
Google Sheets
Google Sheets 语法相同,通配符规则也相同。=COUNTIFS() 同样是 AND。需要分组计数时可以用 QUERY,但单条件计数仍以 COUNTIF 为标准写法。
这一页对应的 COUNTIF 练习
COUNTIF 练习
重复订单号用精确文本条件;及格人数把比较运算符放进条件字符串。
常见问题
COUNTIF 在 Excel 里怎么运作?
=COUNTIF(range, criteria) 逐格检查 range,统计符合 criteria 的单元格。例如 =COUNTIF(B2:B6, "Shipped") 返回状态等于 Shipped 的数量。文本条件和 ">=60" 这类运算符都要放在引号里。
COUNTIF 和 COUNTIFS 有什么区别?
COUNTIF 只接受一个条件。COUNTIFS 接受两个以上,每一组都符合才计入:=COUNTIFS(A2:A5, "North", B2:B5, "Shipped")。和 SUMIFS 不同,COUNTIFS 没有求和区域,每个参数都是「区域、条件」成对出现。
怎么统计含有文本的单元格?
用通配符:=COUNTIF(A2:A10, "*") 统计含文本的单元格。数字和空白不会被星号命中。至少要有一个字符用 "?*"。要统计包含某个词的单元格,用 "*apple*"。匹配不区分大小写。
怎么用 COUNTIF 数重复值?
辅助列 =COUNTIF($A$2:$A$11, A2) 会返回 A2 这个值出现几次。结果大于等于 2 就是重复。=COUNTIF($A$2:$A$11, A2)>1 也是条件格式用来标记重复值的自定义公式。
为什么 COUNTIF 返回 0?
常见原因:文本条件没加引号、数字其实是文本、条件前后有隐藏空格(用 TRIM 清掉),或通配符没有按你想的方式命中。COUNTIF 不会报错,只是算出 0 个匹配。