=COUNT(B2:B8) 统计 B2:B8 中包含数字的单元格。=COUNTA(B2:B8) 统计所有非空单元格,不管里面是什么。=COUNTBLANK(B2:B8) 统计空单元格。
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Name | Score | COUNT | COUNTA | COUNTBLANK | ||
| 2 | Ana | 78 | 4 | 6 | 1 | ||
| 3 | Ben | absent | |||||
| 4 | Chen | 91 | |||||
| 5 | Dina | ||||||
| 6 | Eli | 65 | |||||
| 7 | Fay | pending | |||||
| 8 | Gus | 88 |
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 也一样。
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Order | Amount | COUNT | COUNTA | |
| 2 | 1001 | 250 | 3 | 5 | |
| 3 | 1002 | 400 | |||
| 4 | 1003 | 175 | |||
| 5 | 1004 | 2026-03-15 | |||
| 6 | 1005 | 90 |
COUNT 得到 3:250、175 和那个日期。B3 和 B6 中的两个金额是文本,所以只有 COUNTA(结果为 5)把它们算了进去。当 COUNT 比你预期的少时,把它与 COUNTA 比较:差值就是包含文本(或 TRUE/FALSE、错误值)的单元格数。把文本转换为数字可以修正这些单元格。
COUNTA:统计非空单元格
=COUNTA(value1, [value2], ...)
COUNTA 就是用来回答“有多少行填了内容”的函数。让它指向一列总是填满的数据(例如姓名),就能统计列表的行数:
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Name | Reply | Invited | Replied | ||
| 2 | Ana | ana@mail.com | Yes | 6 | 4 | |
| 3 | Ben | ben@mail.com | ||||
| 4 | Chen | chen@mail.com | No | |||
| 5 | Dina | dina@mail.com | Yes | |||
| 6 | Eli | eli@mail.com | ||||
| 7 | Fay | fay@mail.com | Maybe |
邀请了六个人,其中四人回复。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 统计非空单元格页面介绍了更多方法。
练习:统计已打分的测验
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Name | Score | Scored | |||
| 2 | Ana | 78 | ||||
| 3 | Ben | absent | ||||
| 4 | Chen | 91 | ||||
| 5 | Dina | 85 | ||||
| 6 | Eli | absent | ||||
| 7 | Fay | absent | ||||
| 8 | Gus | 59 |
轮到你了: 在 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)。它统计真正的空单元格,以及公式返回空字符串 "" 的单元格。含有一个空格的单元格不算空白。