Menu

Excel COUNT、COUNTA 和 COUNTBLANK 的区别

=COUNT(B2:B8) 统计包含数字的单元格,=COUNTA(B2:B8) 统计所有非空单元格,=COUNTBLANK(B2:B8) 统计空单元格。在可编辑的表格中对比这三个函数。

本页的每张表格都是实时的:修改数字或公式,就会重新计算。

=COUNT(B2:B8) 统计 B2:B8 中包含数字的单元格。=COUNTA(B2:B8) 统计所有非空单元格,不管里面是什么。=COUNTBLANK(B2:B8) 统计空单元格。

用三种方式统计同一列
E2
ABCDEFG
1NameScoreCOUNTCOUNTACOUNTBLANK
2Ana78461
3Benabsent
4Chen91
5Dina
6Eli65
7Faypending
8Gus88
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

COUNT 得到 4:四个分数。COUNTA 得到 6,因为“absent”和“pending”也不是空的。COUNTBLANK 得到 1,即 Dina 那一格。给 Dina 填上分数,COUNT 和 COUNTA 都会增加,而 COUNTBLANK 降为 0。COUNTA 加 COUNTBLANK 等于区域中的 7 个单元格,除非某个单元格中的公式返回 "",下面会有一节专门讲这种情况。

COUNT:统计包含数字的单元格

=COUNT(value1, [value2], ...)

COUNT 统计数字。在 Excel 中日期和时间也是数字,所以也会被统计。文本、TRUE/FALSE、错误值和空单元格会被跳过。用它统计有多少条记录是真正的数值,例如有多少份测验已经打分。

为什么 COUNT 会跳过以文本形式存储的数字

带撇号输入的数字,或从其他程序粘贴来的数字,可能以文本形式存储。它看起来像数字,但 COUNT 会忽略它,SUM 和 AVERAGE 也一样。

以文本形式存储的数字
D2
ABCDE
1OrderAmountCOUNTCOUNTA
2100125035
31002400
41003175
510042026-03-15
6100590
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

COUNT 得到 3:250、175 和那个日期。B3 和 B6 中的两个金额是文本,所以只有 COUNTA(结果为 5)把它们算了进去。当 COUNT 比你预期的少时,把它与 COUNTA 比较:差值就是包含文本(或 TRUE/FALSE、错误值)的单元格数。把文本转换为数字可以修正这些单元格。

COUNTA:统计非空单元格

=COUNTA(value1, [value2], ...)

COUNTA 就是用来回答“有多少行填了内容”的函数。让它指向一列总是填满的数据(例如姓名),就能统计列表的行数:

有多少人回复了
E2
ABCDEF
1NameEmailReplyInvitedReplied
2Anaana@mail.comYes64
3Benben@mail.com
4Chenchen@mail.comNo
5Dinadina@mail.comYes
6Elieli@mail.com
7Fayfay@mail.comMaybe
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

邀请了六个人,其中四人回复。COUNTA 对“Yes”“No”和“Maybe”一视同仁。如果只想统计回复“Yes”的,就加上条件:=COUNTIF(C2:C7,"Yes")(COUNTIF)。

COUNTA 会统计返回 "" 的公式

COUNTA 看的是单元格有没有内容,而不是它显示了什么。像 =IF(B2>=70,"Yes","") 这样的公式在分数低于 70 时返回空字符串:单元格看起来是空的,但里面有公式,所以 COUNTA 会统计它。COUNTBLANK 也会把它当作空白统计,这是一个单元格同时被两者统计的唯一情况。

B2:B6 中的分数为 78、52、91、64 和 85,并把该公式向下填充到 C2:C6,Excel 返回:

=COUNTA(C2:C6)          5   (every cell holds a formula)
=COUNTBLANK(C2:C6)      2   (the two "" results)
=COUNTIF(C2:C6,"Yes")   3   (only the visible results)

如果只想统计显示了内容的单元格,就像这里的 COUNTIF 那样统计你想要的值,或者使用 =SUMPRODUCT(--(C2:C6<>"")),结果同样是 3。COUNTIF 统计非空单元格页面介绍了更多方法。

练习:统计已打分的测验

测验成绩
F2
ABCDEF
1NameScoreScored
2Ana78
3Benabsent
4Chen91
5Dina85
6Eliabsent
7Fayabsent
8Gus59
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

轮到你了: 在 F2 中,统计有多少名学生有分数。缺考的学生标记为“absent”,不能计入。

常见错误:对文本列使用 COUNT

对一列姓名使用 =COUNT(A2:A8) 会返回 0,因为 COUNT 只统计数字。想用它统计行数的人常常会被这个结果吓一跳。对于姓名、代码、电话号码或其他文本,请使用 COUNTA。另外,Excel 状态栏中为选区显示的“计数”就是 COUNTA;而“数值计数”(右键单击状态栏即可开启)才是 COUNT。

常见问题

Excel 中 COUNT 和 COUNTA 有什么区别?

COUNT 只统计包含数字的单元格,日期和时间也算数字。COUNTA 统计所有非空单元格:数字、文本、TRUE/FALSE、错误值和公式,哪怕公式返回的是空字符串。

Excel 中 COUNT 为什么返回 0?

这些单元格中是文本而不是数字,包括以文本形式存储的数字,这类单元格常常带有绿色小三角。可以用 =COUNTA(B2:B8) 照样统计它们,或者先把它们转换成数字。

如何在 Excel 中统计非空单元格?

=COUNTA(B2:B8) 统计每个非空单元格。如果有些单元格中的公式返回 "",而你也想跳过它们,统计文本用 =COUNTIF(B2:B8,"?*"),统计任意内容用 =SUMPRODUCT(--(B2:B8<>""))。

如何在 Excel 中统计空白单元格?

=COUNTBLANK(B2:B8)。它统计真正的空单元格,以及公式返回空字符串 "" 的单元格。含有一个空格的单元格不算空白。

Coddy 编程语言插图

和 Coddy 一起学编程

开始