在线 Excel 编辑器
免费使用

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 对比

COUNTIFCOUNTIFS
每条公式的条件数一个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 重复行 — 免费