在工作表中对数值进行计数的方法

计数与求和 无论你是在统计你组织中部门的人数还是每个季度售出的单位数量,计数总是数据分析不可或缺的组成部分。Excel 提供了可用于对数据的单元格、行或列计数的多种方法。

为了帮助你做出最佳选择,本文提供各种方法的综合摘要、有助于快速决定要使用的技术的支持信息,以及深层次文章的链接。

不应将计数与求和混淆。有关对单元格、列或行中的值进行求和的详细信息,请参阅对工作表中的值进行求和的方法

本文内容

简单计数

视频:使用 Excel 状态栏对单元格进行计数

使用内置命令对列或行中的单元格进行计数

使用 COUNT 函数对区域中的单元格进行计数

使用分级显示中的“分类汇总”命令对列中的单元格进行计数

使用数据透视表对列或行中的单元格进行计数

使用 SUBTOTAL 函数对列表或 Excel 表格列中的单元格进行计数

根据一个或多个条件计数

视频:使用 COUNT、COUNTIF 和 COUNTA 函数

使用 COUNTIF 函数,根据单个条件对区域中的单元格进行计数

使用 DCOUNT 函数,根据单个或多个条件对列中的单元格进行计数

使用 COUNTIFS 函数或 COUNT 和 IF 函数组合,根据多个条件对区域中的单元格进行计数

当你的数据包含空值时进行计数

使用 COUNTA 函数对区域中的非空单元格进行计数

使用 DCOUNTA 函数对列表中的非空单元格进行计数

使用 COUNTBLANK 函数对连续区域中的空单元格进行计数

使用 SUM 和 IF 函数组合对非连续区域中的空单元格进行计数

对仅出现一次的值进行计数

使用数据透视表对区域中的唯一值进行计数

使用 COUNTIF 函数,根据单个条件对区域中的唯一值进行计数

使用数组公式中的 SUM 和 IF 函数组合,根据多个条件对区域中的唯一值进行计数

使用“高级筛选”对列表列中的唯一值进行计数

使用复合公式计算区域中满足一个或多个条件的唯一值的数目

特殊情况(对所有单元格进行计数,统计字数)

使用 ROWS 和 COLUMNS 函数计算区域中的单元格总数

使用复合公式对区域中的字数进行计数

在状态栏上显示计算和计数

简单计数

可使用简单函数、单击按钮或使用工作表函数计算区域或表中的值的数目。

Excel 还可在 Excel status bar 上显示所选单元格中数字的计数。请参阅以下视频演示,以便快速了解如何使用状态栏。另请参阅在状态栏上显示计算和计数部分以了解详细信息。当你希望概览数据而没有时间输入函数时,可以参考状态栏上显示的值。

视频:使用 Excel 状态栏对单元格进行计数

观看以下视频,了解如何在状态栏上查看计数。

您的浏览器不支持视频。 安装 Microsoft Silverlight、Adobe Flash Player 或 Internet Explorer 9。

返回页首

使用内置命令对列或行中的单元格进行计数

使用“自动求和”命令的“计数”功能,方法是通过选择包含至少一个数字值的单元格的区域,然后在“开始”选项卡上的“编辑”组中,单击“自动求和”旁边的箭头。然后单击“计数”。Excel 将在与你所选择的区域相邻的一个单元格中,返回该区域中的数字值的计数。通常情况下,此结果将显示在水平区域右侧的一个单元格或垂直区域下方的一个单元格中。

使用“数值计数自动求和”命令

返回页首

使用 COUNT 函数对区域中的单元格进行计数

使用公式中的 COUNT 函数计算区域中数值的数目。在下面的示例中,区域 A2:A5 包含三个数字(5、32 和 10)和一个文本值(“hello”)。你使用公式中的 COUNT 函数,如下所示:=COUNT(A2:A5)。结果为 3,在该区域中找到的数值的数目。

1

2

3

4

5

6

A

示例值

5

32

hello

10

=COUNT(A2:A5)

有关详细信息,请参阅文章 COUNT 函数中“对包含的数字不在连续的行或列中的单元格进行计数”一节。

返回页首

使用分级显示中的“分类汇总”命令对列中的单元格进行计数

使用“分类汇总”命令(“数据”选项卡,“分级显示”组)来对数据列进行分组和汇总。

如果数据在列表中且可按列值对其进行逻辑分组,你可以创建分级显示来对数据进行分组和汇总。

“分类汇总”命令将数据分组到分级显示中

如本图所示,总销售额按地区分组,就可以轻松地看到分别对应东部和西部地区的四个季度的值。作为奖励,对每个区域的值进行了汇总,同时也算出了总计。

有关详细信息,请参阅以下文章:

返回页首

使用数据透视表对列或行中的单元格进行计数

创建 PivotTable report,通过选择想要查看数据的类别将其用于总结数据和帮助执行分析。

你可以通过选择数据区域或 Excel 表格来快速创建数据透视表,然后,在“插入”选项卡上的“表格”组中,单击“数据透视表”。

为展现数据透视表的强大功能,请注意以下示例中的销售数据包含许多行(实际上共有 40 行数据,但图中仅显示了这些行的一部分)。未对数据进行汇总,因此无小计或总计。

在数据透视表中使用的数据

基于相同数据的数据透视表显示了小计和总计,并提供一目了然的简明摘要。

在数据透视表中进行汇总和合计的数据

创建和使用数据透视表可能要求你对数据进行一些初始准备并熟悉一些概念。

有关可帮助你入门的详细信息,请参阅以下文章:

返回页首

使用 SUBTOTAL 函数对列表或 Excel 表格列中的单元格进行计数

可以使用公式中的 SUBTOTAL 函数计算 Excel 表格或单元格区域中的数值的数目。

可以使用 SUBTOTAL 函数来控制结果中是否包括隐藏行。该函数将始终忽略已筛选的行。

例如,对下表的七个值(单元格 A2 至 A8)使用该函数将返回计数 7。

1

2

3

4

5

6

7

8

9

A

销售量

25

8

12

32

11

40

16

=SUBTOTAL(2,A2:A8)

在公式中,“2”部分指定函数应使用 SUM 函数返回 A2:A8 区域中的值的计数,且应包含任何隐藏的行。计数(结果位于单元格 A9 中)为 7。

如果你已隐藏行 4、5 和 6,且不想对这些行进行计数,你应使用略有不同的 SUBTOTAL 函数。不是在公式中指定“2”,而是指定将告知 Excel 忽略隐藏的行的 “102”。你的工作表可能和下面所示的类似(包含隐藏的行 4、5 和 6):

1

2

3

7

8

9

A

销售量

25

8

40

16

=SUBTOTAL(102,A2:A8)

在这种情况下,函数将返回 4,即列中的未隐藏且包含值的单元格的数目。

有关详细信息,请参阅 SUBTOTAL 函数文章。

返回页首

根据一个或多个条件计数

你可以使用几个工作表函数对区域中满足指定条件的单元格进行计数。

视频:使用 COUNT、COUNTIF 和 COUNTA 函数

观看以下视频,了解如何使用 COUNT 函数以及如何使用 COUNTIFCOUNTA 函数来仅对满足指定条件的单元格进行计数。

您的浏览器不支持视频。 安装 Microsoft Silverlight、Adobe Flash Player 或 Internet Explorer 9。

返回页首

使用 COUNTIF 函数,根据单个条件对区域中的单元格进行计数

使用 COUNTIF 函数计算满足一个条件的单元格的数目。在下面的示例中,此函数在 A2:A8 区域中查找大于 20 的值的数目,结果为 3。请注意条件 “>20” 必须用引号括起来。

1

2

3

4

5

6

7

8

9

A

销售量

25

8

12

32

11

40

16

=COUNTIF(A2:A8,">20")

有关详细信息,请参阅 COUNTIF 函数文章。

返回页首

使用 DCOUNT 函数,根据单个或多个条件对列中的单元格进行计数

若要符合指定条件,请使用 DCOUNT 数据库函数。

处理列列表时,如果你认为在单独的单元格区域中定义条件比使用嵌套函数更简单,请使用 DCOUNT 函数。

在下面的示例中,假设你要查找包括或晚于 2008 年 3 月且销售量大于 400 的月份的计数。查看此表,你可以看到两个月份满足这一要求:4 月 (442) 和 6 月 (405)。

注意: 下面的过程可能不够直观,但能起作用。请务必准确按照说明进行操作,并按下面所示排列工作表中的数据。你可以将表中的数据复制并粘贴到工作表中的单元格 A1。结果应显示在单元格 B13 中。

你添加了其他单元格区域,其排列方式与销售数据类似,并位于单元格 A1 到 B7 中。其他单元格区域由单元格 A10 到 B11 组成,包含相同的列标签(“销售单位”和“月结”),且每一行中的条件位于每一列标签的正下方(单元格 A11 和 B11)。

然后在任何空白单元格中输入公式(其位置无关紧要,但在此示例中,在单元格 B13 中输入公式)。此示例中的公式使用 DCOUNT 函数,如下所示:=DCOUNT(A1:B7,,A10:B11)

1

2

3

4

5

6

7

8

9

10

11

12

13

A

B

销售单位

月结

339

2008/1/31

270

2008/2/29

314

2008/3/31

442

2008/4/30

336

2008/5/31

405

2008/6/30

销售单位

月结

=">400"

=">=3/31/2008"

=DCOUNT(A1:B7,,A10:B11)

DCOUNT 函数检查区域 A2 到 A7 中的数据,应用它在 A11 和 B11 中找到的条件并返回 2,即满足这两个条件的行数(行 5 和行 7)。

有关详细信息,请参阅 DCOUNT 函数文章。

返回页首

使用 COUNTIFS 函数或 COUNT 和 IF 函数组合,根据多个条件对区域中的单元格进行计数

使用 COUNTIFS 函数或 COUNTIF 函数组合。

对某一单元格区域使用 COUNTIF 函数

下图显示 COUNTIFS 函数正在用于查找产生 250 以上马力,且每加仑在高速公路上平均能行驶 25 英里以上的汽车。此函数返回 2,即满足这两个条件的行数(行 3 和行 4)。

注意: 在 COUNTIFS 函数中,任何条件必须用引号 ("") 括起来,例如,"<250"、">25" 甚至是 "240"。

你可以使用 COUNTIF 函数来计算单个值在某个区域中出现的次数。例如,若要查看值 70 在区域 A2 到 A40 中出现的次数,可使用公式 =COUNTIF(A2:A40,70)

有关详细信息,请参阅文章对值出现的频率进行计数COUNTIFS 函数

返回页首

当你的数据包含空值时进行计数

你可以使用工作表函数来对包含数据或者为空的单元格进行计数。

使用 COUNTA 函数对区域中的非空单元格进行计数

使用 COUNTA 函数来仅对包含值的区域中的单元格进行计数。

当对单元格进行计数时,有时你想要忽略所有空白单元格,因为仅具有值的单元格才对你有意义。例如,要对某地区至少销售了一个单位的所有销售人员进行计数。

在下面的示例中,对西部地区销售列中的值使用此函数返回了计数 3。

1

2

3

4

5

6

7

8

A

B

销售人员

西部地区销售

Andrews

24000

Atlas

Chai

Gabrielle

31000

Hansen

Zeng

8000

=COUNTA(B2:B7)

因为单元格 B3、B4 和 B6 为空,所以 COUNTA 函数将忽略它们。仅对包含值 24000、31000 和 8000 的单元格进行计数。计数(结果位于单元格 B8 中)为 3。

有关详细信息,请参阅 COUNTA 函数

返回页首

使用 DCOUNTA 函数对列表中的非空单元格进行计数

使用 DCOUNTA 函数对列表或数据库中满足指定条件的记录列中的非空单元格进行计数。

下面的示例使用 DCOUNTA 函数计算数据库中包含在 A4:B9 区域中且满足在条件区域 A1:B2 中的指定条件的记录数目。这些条件为“产品 ID”值必须大于或等于 4000,且“评级”值必须大于或等于 50。仅第 7 行中的一条记录满足这两个条件。

1

2

3

4

5

6

7

8

9

A

B

产品 ID

评级

=">=4000"

=">=50"

产品 ID

评级

2048

61

16384

35336

83

1024

113

512

47

=DCOUNTA(A4:B9,"Ratings",A1:B2)

有关详细信息,请参阅 DCOUNTA 函数文章。

返回页首

使用 COUNTBLANK 函数对连续区域中的空单元格进行计数

使用 COUNTBLANK 函数返回相邻区域内空白单元格的数目(如果全部以连续顺序连接,则单元格是连续的)。如果单元格包含返回空文本 ("") 的公式,则该单元格将计算在内。

注意: 当对单元格进行计数时,有时你想要包含空白单元格,因为它们对你有意义。例如,你要对某个地区销售出或未销售出产品的所有销售人员进行计数。

有关详细信息,请参阅 COUNTBLANK 函数文章。

返回页首

使用 SUM 和 IF 函数组合对非连续区域中的空单元格进行计数

使用 SUM 函数和 IF 函数的组合。一般情况下,要执行此操作,可以通过在 array formula 中使用 IF 函数来确定每个引用的单元格是否包含值,然后对公式返回的 FALSE 值的数目求和。

有关其他信息,请参阅知识库文章 XL:何时使用 SUM(IF()) 而非 CountBlank()

返回页首

对仅出现一次的值进行计数

你可以使用数据透视表、COUNTIF 函数、组合函数,或“高级筛选对话框对区域中的唯一值进行计数。

使用数据透视表对区域中的唯一值进行计数

你可以使用 PivotTable report 显示总计,并对唯一值的出现次数进行计数。

有关详细信息,请参阅文章对值出现的频率进行计数中的“使用数据透视表对多个值的出现频率进行计数”。

返回页首

使用 COUNTIF 函数,根据单个条件对区域中的唯一值进行计数

使用 COUNTIF 函数来对某个值在某个区域中出现的次数进行计数。

在下面的示例中,COUNTIF 返回 2,即区域 A2:A7 中找到值 250 的次数。

1

2

3

4

5

6

7

8

A

销售量

245

250

250

N/A

=COUNTIF(A2:A7,250)

有关详细信息,请参阅文章对值出现的频率进行计数中的“对区域中单个值的出现频率进行计数”。

返回页首

使用数组公式中的 SUM 和 IF 函数组合,根据多个条件对区域中的唯一值进行计数

使用 SUM 函数和 IF 函数。一般情况下,要执行此操作,可以通过在 array formula 中使用 IF 函数来确定是否满足由多个条件组成的条件,然后对公式返回的 TRUE 值的数目求和。

在下面的示例中,IF 函数用于检查区域 A2:A10 中的每个单元格,并确定其是否包含 Andrews 或 Chai。使用 SUM 函数汇总返回的 TRUE 值的次数,其结果为 7。你可以将此示例复制并粘贴到单元格 A1 中的工作表。粘贴示例后,你将注意到单元格 A11 包含 #VALUE! 错误。若要使公式起作用,必须通过按 F2,然后按 CTRL+SHIFT+ENTER 将其转换为数组公式。随后在单元格 A11 将显示数字 7。

1

2

3

4

5

6

7

8

9

10

A

B

销售人员

发票

Andrews

15000

Chai

11000

Andrews

11000

Chai

4000

Hansen

8000

Chai

6000

Hansen

14000

Andrews

7000

12000

公式

说明(结果)

=SUM(IF((A2:A10="Andrews")+(A2:A10="Chai"),1,0))

Andrews 或 Chai的发票数 (7)

有关详细信息,请参阅文章对值出现的频率进行计数中的“使用函数对多个文本或数值的出现频率进行计数”。

请参阅下列知识库文章以了解更多提示:

返回页首

使用“高级筛选”对列表列中的唯一值进行计数

使用“高级筛选”对话框找到数据列中的唯一值。你可以就地筛选值,或将其提取并粘贴到新的位置。然后可以使用 ROWS 函数计算此新区域中项目的个数。

注释: 

  • 如果就地筛选数据,将不会从工作表中删除值 — 可能会隐藏一个或多个行。单击“数据”选项卡上的“排序和筛选”组中的“清除”以重新显示这些值。

  • 如果你只想要快速查看唯一值的数目,在使用“高级筛选”后选择数据(筛选或复制的数据),然后查看状态栏。状态栏上的“计数”值应等于唯一值的数目。

你可以使用“高级”命令(“数据”选项卡,“排序和筛选”组)查找唯一值。

下图显示了如何使用“高级筛选”仅将唯一记录复制到工作表上的新位置。

对数据区域应用“高级筛选”

在下图中,列 C 中包含从列 A 中的区域复制的五个唯一值。

来自于 A 列区域的唯一值

有关详细信息,请参阅文章对重复项中的唯一值进行计数中的“使用筛选器对唯一值进行计数”一节。

返回页首

使用复合公式计算区域中满足一个或多个条件的唯一值的数目

使用 IFSUMFREQUENCYMATCHLEN 函数的多个组合。

有关详细信息,请参阅文章对重复项中的唯一值进行计数中的“使用函数对唯一值进行计数”一节。

此外,请参阅文章 XL:如何确定列表中唯一项目的数目

返回页首

特殊情况(对所有单元格进行计数,统计字数)

你可以使用工作表函数的各种组合计算区域中单元的格数目或字数。

使用 ROWS 和 COLUMNS 函数计算区域中的单元格总数

假设你想要确定大工作表的大小以决定是否要在你的工作簿中使用手动或自动计算。若要对区域中的所有单元格进行计数,请使用将 ROWSCOLUMNS 函数的返回值相乘的公式。

如果将示例复制到一个空白工作表中,可能会更易于理解。

如何复制示例

  1. 创建一个空白工作簿或工作表。

  2. 选择“帮助”主题中的示例。

    注意: 请勿选择行标题或列标题。

    从“帮助”中选择示例
    从“帮助”中选择示例
  3. 按 Ctrl+C。

  4. 在工作表中,选择单元格 A1,然后按 Ctrl+V。

  5. 若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在“公式”选项卡上的“公式审核”组中单击“显示公式”按钮。

1

2

3

4

5

6

A

B

C

地区

月份

销售额

东部

一月

$18,000

东部

二月

$23,000

东部

三月

$19,000

公式

说明(结果)

=ROWS(A2:C4) * COLUMNS(A2:C4)

区域中的单元格的总数 (9)

返回页首

使用复合公式计算区域中的字数

在 array formula 中使用 SUMIFLENSUBSTITUTE 函数组合。下面的示例演示了使用复合公式查找 7 个单元格区域(其中 3 个为空)中的字数的结果。有些单元格包含前导或尾随空格 — TRIMSUBSTITUTE 函数将在进行任何计数之前删除这些额外的空格。

在下表中,复制 A2 到 A11 中的文本。在将文本粘贴到你的工作表的单元格 A1 之前,将列 A 的宽度更改为约 100。

1

2

3

4

5

6

7

8

9

10

11

A

文本字符串

六个单词和四个尾随空格    

   六个单词和三个前导空格

八个单词、一些逗号和两个尾随空格  

某些字符已被忽略,如逗号或句号。

公式

=SUM(IF(LEN(TRIM(A2:A8))=0,0,LEN(TRIM(A2:A8))-LEN(SUBSTITUTE(A2:A8," ",""))+1))

将文本粘贴到工作表中的单元格位置 A1 后,选择单元格 A11,按 F2,然后按 SHIFT+CTRL+ENTER 输入作为数组公式的公式。正确的结果 29 应显示在单元格 A11 中。

返回页首

在状态栏上显示计算和计数

当选中一个或多个单元格时,Excel 状态栏上将显示有关这些单元格中数据的信息。例如,如果选择工作表中的四个单元格,其值分别为 2、3、文本字符串(如“云”)和 4,则可在状态栏上同时显示下列所有值:平均值、计数、数值计数、最小值、最大值和求和结果。右键单击状态栏以显示或隐藏任意或全部值。这些值显示在下图中。

显示选定单元格的计算和计数的状态栏

注意: 在早期版本的 Excel 中,也可以在状态栏上显示这些值,但一次只能显示一个值。

返回页首

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×