COUNTIF 函数:语法、示例与错误排查
更新于 2026-10-13 · 免费 · 兼容 Excel 与 Google Sheets
语法
=COUNTIF(区域, 条件)快速答案
COUNTIF 统计区域内满足一个条件的单元格个数:=COUNTIF($D$2:$D$500, ">100") 返回数值大于 100 的单元格数量。它同样能匹配文本、日期和通配符模式,且不区分大小写。结果为 0 通常是数字被存成了文本,或条件忘了加引号。
语法
=COUNTIF(区域, 条件)| 参数 | 含义 |
|---|---|
| 区域 | 要统计的单元格:一列或一行,如 $D$2:$D$500。 |
| 条件 | 单元格要满足的条件:数字、带双引号的文本、形如 ">100" 的比较式,或 D2 这样的单元格引用。 |
视区域设置不同,参数可能用分号而非逗号分隔:=COUNTIF($D$2:$D$500; ">100")。在以逗号作小数点的国家/地区,这是标准写法。
基本示例
=COUNTIF($D$2:$D$500, ">100")统计大于 100 的销售额。比较运算符(>、>=、<、<>)必须写在引号内,紧贴数字。
=COUNTIF($C$2:$C$500, "New York")统计内容正好是「New York」的单元格。文本条件必须加双引号,且不区分大小写:「new york」同样会被计入。
=COUNTIF($B$2:$B$500, ">2026-01-01")统计 2026 年 1 月 1 日之后的日期。比较式写在引号内;单元格必须是真正的日期值,而不是「长得像日期」的文本。
=COUNTIF($A$2:$A$500, "*@gmail.com")统计以 @gmail.com 结尾的邮箱。* 通配任意个字符,? 只匹配一个字符,~ 用来转义文本中真实的 * 或 ?。
经典的查重公式就建立在 COUNTIF 上:=COUNTIF($A$2:$A$500, A2)>1 对所有出现不止一次的值返回 TRUE。把它复制到列旁边,筛选出 TRUE 即可看到全部重复值。
常见错误与修复方法
| 症状 | 最常见原因 | 解决办法 |
|---|---|---|
| #NAME? | COUNTIF 拼写错误——或者 Excel 界面语言不是英文,函数名被本地化了(如 CONTAR.SI、NB.SI、ZÄHLENWENN、CONT.SE)。 | 输入 =COUNT( 让自动补全写出正确名称,或在与文件匹配的语言版本里打开。 |
| 结果始终为 0 | 数字被存成文本、不可见尾随空格,或条件漏了引号(">100" 的引号必须保留)。 | 先把文本型数字转成数字,清理空格,条件务必带双引号。 |
| 文本永远匹配不上 | 单元格带着不可见空格:对 COUNTIF 来说,「NYC 」和「NYC」是不同字符串。大小写从不是问题——空格才是。 | COUNTIF 不区分大小写,但区分空格:统计前先整列去除多余空格。 |
| 日期永远统计不到 | 「日期」其实是从其他系统导入的文本,所以 ">2026-01-01" 永远匹配不上。 | 先把这一列转换成真正的日期——日期条件只对真实日期值生效。 |
尾随空格在这里同样是隐形杀手:计数悄悄变少,却没有任何报错。统计前一键清理整列。
COUNTIF 与 COUNTIFS 对比
| COUNTIF | COUNTIFS | |
|---|---|---|
| 每条公式的条件数 | 一个 | 2 到 127 个 |
| 条件之间按 AND 组合 | 不支持 | 支持 |
| 每个条件用不同区域 | — | 支持,前提是区域大小相同 |
| 可用版本 | 所有 Excel 版本(Google Sheets 也支持) | Excel 2007 及以上(Google Sheets 也支持) |
=COUNTIFS($C$2:$C$500, "New York", $D$2:$D$500, ">100")一旦需要两个条件同时满足——比如「纽约且销售额大于 100」——就换 COUNTIFS。单纯的 COUNT 只统计数字,COUNTA 统计非空单元格;带条件的统计都交给 COUNTIF 和 COUNTIFS。
Google Sheets 中的 COUNTIF
Google Sheets 支持与 Excel 完全相同的 COUNTIF 语法——上面的公式原样粘贴即可使用。
- 比较运算符、通配符和不区分大小写的匹配,在 Sheets 里的行为完全一致。
- 在以逗号作小数点的区域设置(欧洲和拉美大部分地区)里,参数间要写分号:=COUNTIF($D$2:$D$500; ">100")。Excel 的行为相同。
- Google Sheets 同样提供 COUNTIFS,规则一致——多条件统计在两个应用里都通用。
- Sheets 还提供 COUNTUNIQUE,可以直接统计不重复值的个数;Excel 里则需要 SUMPRODUCT 技巧或专用工具。
限制与进阶技巧
- COUNTIF 无法逐行比较两个区域(比如统计 D 列大于 E 列的行数)——那需要 SUMPRODUCT(($D$2:$D$500>$E$2:$E$500)*1)。
- 一次只能一个条件。要 OR 逻辑就把两个 COUNTIF 相加:=COUNTIF(区域, ">100")+COUNTIF(区域, "<0")。
- 不能按单元格颜色统计——按颜色筛选后看状态栏,或加一列辅助标记。
- 用 $ 锁定区域($D$2:$D$500),下拉复制公式时区域才不会跑偏。
- 单独用 COUNTIF 统计不重复值很别扭,大数据量下也很慢——不如直接提取唯一值。
查出重复只是第一步:接下来要一次清掉它们。下面的免费工具不用公式就能完成清理。
相关工具
相关函数
常见问题
COUNTIF 在 Excel 里做什么?
统计区域内满足单个条件的单元格个数——大于某阈值的数字、精确文本、某个日期之前的日期或通配符模式:=COUNTIF($D$2:$D$500, ">100")。匹配不区分大小写,一条公式只处理一个条件。
怎么统计大于某个数的单元格?
把运算符写进带引号的条件里:=COUNTIF($D$2:$D$500, ">100")。引号必须保留——少了引号 Excel 会把 >100 当成非法公式。大于等于用 >=;要引用单元格就用 & 拼接:">"&D1。
为什么 COUNTIF 返回 0?
几乎都是数据问题而非公式问题:数字被存成文本、不可见尾随空格,或条件漏了引号。用 VALUE() 转换文本型数字、清理空格,并确认「New York」确实包在双引号里。
COUNTIF 区分大小写吗?
不区分——「NYC」「nyc」「Nyc」被视为同一个值。确实需要区分大小写的统计时,用 SUMPRODUCT 配合 EXACT:=SUMPRODUCT(--EXACT(区域, "NYC"))。
COUNTIF 怎么用通配符?
* 匹配任意个字符,? 只匹配一个:=COUNTIF($A$2:$A$500, "*@gmail.com") 统计 Gmail 邮箱。要匹配真正的星号或问号,用波浪号转义:~* 或 ~?。
什么时候该用 COUNTIFS?
一旦有两个及以上必须同时成立的条件:=COUNTIFS($C$2:$C$500, "New York", $D$2:$D$500, ">100")。COUNTIF 只处理一个条件;COUNTIFS 支持 2 到 127 个,Excel 2007 及以上和 Google Sheets 都能用。
COUNTIF 在 Google Sheets 里能用吗?
能——函数名、参数、通配符和不区分大小写的匹配都一样。只有在以逗号作小数点的区域设置里,参数分隔符才变成分号:=COUNTIF($D$2:$D$500; ">100")。
准备好处理你自己的文件了吗?
打开删除 Excel 重复行 — 免费