无论你是在统计你组织中部门的人数还是每个季度售出的单位数量,计数总是数据分析不可或缺的组成部分。 Excel 提供了可用于对数据的单元格、行或列计数的多种方法。 为了帮助您做出最佳选择,本文提供了对方法的全面概述、包含交互式示例的可下载工作簿以及指向相关主题的链接以供进一步理解。
注意
不应将计数与求和混淆。 有关对单元格、列或行中的值求和的详细信息,请参阅总结 对 Excel 数据进行相加和计数的方法。
下载我们的示例
您可以下载一个示例工作簿,其中提供了示例以补充本文中的信息。 本文中的大多数部分将引用示例工作簿中的相应工作表,这些工作表提供了示例和更多信息。
本文内容
简单计数
可以通过使用简单公式、选择按钮或工作表函数来计算区域或表中的值个数。
Excel 还可以在 Excel 状态栏上显示所选单元格的数量计数。 请参阅以下视频演示,以便快速了解如何使用状态栏。 另请参阅在状态栏上显示计算和计数部分以了解详细信息。 当你希望概览数据而没有时间输入函数时,可以参考状态栏上显示的值。
视频:使用 Excel 状态栏对单元格进行计数
观看以下视频,了解如何在状态栏上查看计数。
使用“自动求和”
通过选择至少包含一个数值的单元格区域来使用 “自动求和 ”。 然后在“公式”选项卡上,选择“自动求和>计数”。
Excel 将在与你所选择的区域相邻的一个单元格中,返回该区域中的数字值的计数。 通常情况下,此结果将显示在水平区域右侧的一个单元格或垂直区域下方的一个单元格中。
添加小计行
可以向 Excel 数据添加小计行。 单击数据中的任意位置,然后选择“ 数据>大纲小>计”。
注意
“ 小计 ”选项仅适用于普通 Excel 数据,不适用于 Excel 表格、数据透视表或数据透视图。
此外,请参阅以下文章:
使用 SUBTOTAL 函数对列表或 Excel 表格列中的单元格进行计数
使用 SUBTOTAL 函数计算 Excel 表格或单元格区域中的值个数。 如果表或区域包含隐藏单元格,则可以使用 SUBTOTAL 包括或排除这些隐藏单元格,这是 SUM 和 SUBTOTAL 函数之间的最大区别。
SUBTOTAL 语法如下所示:
SUBTOTAL(function_num,ref1,[ref2],...)
若要在区域内包含隐藏值,应将 function_num 参数设置为 2。
若要排除范围中的隐藏值,请将 function_num 参数设置为 102。
根据一个或多个条件计数
你可以使用几个工作表函数对区域中满足指定条件的单元格进行计数。
视频:使用 COUNT、COUNTIF 和 COUNTA 函数
观看以下视频,了解如何使用 COUNT 函数以及如何使用 COUNTIF 和 COUNTA 函数来仅对满足指定条件的单元格进行计数。
使用 COUNT 函数对区域中的单元格进行计数
使用公式中的 COUNT 函数计算区域中数值的数目。
在上面的示例中,A2、A3 和 A6 是唯一在区域内包含数值的单元格,因此输出为 3。
注意
A7 是一个时间值,但它包含 (a.m.) 的文本,因此 COUNT 不将其视为数值。 如果你要移除 上午在单元格中,COUNT 将 A7 视为数值,并将输出更改为 4。
使用 COUNTIF 函数,根据单个条件对区域中的单元格进行计数
使用 COUNTIF 函数 计算特定值在单元格区域中出现的次数。
使用 DCOUNT 函数,根据单个或多个条件对列中的单元格进行计数
DCOUNT 函数 对列表或数据库中符合指定条件的记录的字段 (列) 中包含数字的单元格进行计数。
在下面的示例中,你想要查找销售量超过 400 个单位的月份(含 2016 年 3 月或之后)的月份计数。 工作表中的第一个表(从 A1 到 B7)包含销售数据。
DCOUNT 使用条件来确定应从何处返回值。 条件通常在工作表本身的单元格中输入,然后在 条件 参数中引用这些单元格。 在此示例中,单元格 A10 和 B10 包含两个条件:一个指定返回值必须大于 400,另一个指定结束月份应等于或大于 2016 年 3 月 31 日。
应使用以下语法:
=DCOUNT (A1:B7,“月末”,A9:B10)
DCOUNT 检查 A1 到 B7 范围内的数据,应用 A10 和 B10 中指定的条件,并返回 2,即满足第 5 行和 7 行 () 同时满足两个条件的行总数。
使用 COUNTIFS 函数根据多个条件对区域中的单元格进行计数
COUNTIFS 函数与 COUNTIF 函数类似,但有一个重要的例外:使用 COUNTIFS 可以跨多个区域将条件应用于单元格,并计算满足所有条件的次数。 最多可将 127 个范围/条件对用于 COUNTIFS。
COUNTIFS 的语法为:
COUNTIFS(criteria_range1, criteria1, [criteria_range2, criteria2],…)
请参阅以下示例:
返回页首
同时使用 COUNT 和 IF 函数根据条件进行计算
假设您需要确定有多少销售人员在某个地区销售了特定商品,或者您想知道特定销售人员在特定价值上进行了多少销售。 则可以同时使用 IF 和 COUNT 函数,即,首先使用 IF 函数检验条件,然后仅当 IF 函数的结果为 TRUE 时,使用 COUNT 函数对单元格进行计数。
注意
- 此示例中的公式必须按数组公式的形式输入。 如果已在 Excel for Windows 或 Excel for Mac 中打开此工作簿,并且想要更改公式或创建类似公式,请按 F2,然后按 Ctrl+Shift+Enter 以使公式返回预期的结果。 在早期版本的 Excel for Mac 中,请使用
+Shift+Enter。 - 要使示例公式正常工作,IF 函数的第二个参数必须为数字。
返回页首
同时使用 SUM 和 IF 函数计算多个文本或数值出现的频率
在下面的示例中,我们同时使用 IF 和 SUM 函数。 首先,IF 函数会检验某些单元格内的值,然后如果检验结果为 True,SUM 函数将对通过检验的值进行求和。
示例 1
上述函数指出,如果 C2:C7 包含值 Buchanan 和 Dodsworth,则 SUM 函数应显示满足条件的记录之和。 此公式在给定范围内查找 Buchanan 的 3 条记录和 Dodsworth 的1条记录,并显示 4。
示例 2
上述函数指出,如果 D2:D7 包含的值小于 $9000 或大于 $19,000,则 SUM 应显示满足条件的所有记录的总和。 此公式将查找两个值小于 $9000 的记录 D3 和 D5,然后查找值大于 $19,000 的 D4 和 D6,并显示 4。
示例 3
上述函数指出,如果 D2:D7 的 Buchanan 发票金额低于 9000 美元,则 SUM 应显示满足条件的记录总和。 公式发现 C6 满足条件,显示 1。
重要
此示例中的公式必须按数组公式的形式输入。 这意味着要按 F2 ,然后按 Ctrl+Shift+Enter。 在早期版本的 Excel for Mac 中,使用
+Shift+Enter。
对数据透视表中列或行中的单元格进行计数
数据透视表汇总了数据,并通过让你选择要查看数据的类别来帮助分析和向下钻取数据。
可通过在数据区域或 Excel 表中选择一个单元格,然后在“ 插入 ”选项卡的“ 表 ”组中选择数据 透视表,快速创建数据透视表。
我们来看一个销售电子表格的示例方案,你可以在其中计算特定季度的高尔夫和网球销售值。
注意
为了获得交互式体验,可以对可下载工作簿的数据 透视表 工作表中提供的示例数据运行这些步骤。
在 Excel 电子表格中输入以下数据。
选择 A2:C8
选择“ 插入>数据透视表”。
选择“从表/范围”、“新建工作表”,然后选择“确定”。
将在新工作表中创建一个空的数据透视表。
在“数据透视表字段”窗格中,执行以下操作:
将 “体育” 拖动到 “行 ”区域。
将 “四分之一 ”拖动到“ 列 ”区域。
将 “销售” 拖动到 “值 ”区域。
重复步骤 c。
字段名称在数据透视表和“值”区域中均显示为 SumofSales2 。
此时,“数据透视表字段”窗格如下所示:
在 “值 ”区域中,选择 SumofSales2 旁边的下拉列表,然后选择“ 值字段设置”。
在“ 值字段设置 ”对话框中,执行下列操作:
在 “按部分汇总值字段 ”中,选择 “计数”。
在 “自定义名称 ”字段中,将名称修改为 “计数”。
选择“确定”。
数据透视表显示第 3 季度和第 4 季度的高尔夫和网球记录计数以及销售数据。
当你的数据包含空值时进行计数
你可以使用工作表函数来对包含数据或者为空的单元格进行计数。
使用 COUNTA 函数对区域中的非空单元格进行计数
使用 COUNTA 函数 函数可以仅对区域中包含值的单元格进行计数。
当对单元格进行计数时,有时你想要忽略所有空白单元格,因为仅具有值的单元格才对你有意义。 例如,你想要计算 (列 D) 进行销售的销售人员总数。
忽略 D3、D4、D8 和 D11 中的空白值,并仅对列 D 中包含值的单元格进行计数。此函数在 D 列中找到包含值的 6 个单元格,并将 6 显示为输出。
使用 DCOUNTA 函数对具有特定条件的列表中非空单元格进行计数
使用 DCOUNTA 函数对列表或数据库中满足指定条件的记录列中的非空单元格进行计数。
以下示例使用 DCOUNTA 函数计算数据库中包含在区域 A1:B7 且满足条件区域 A9:B10 中指定条件的记录的数量。 这些条件是产品 ID 值必须大于或等于 2000,并且“分级”值必须大于或等于 50。
DCOUNTA 将查找满足条件的两行 - 行 2 和 4,并将值 2 显示为输出。
使用 COUNTBLANK 函数对连续区域中的空单元格进行计数
使用 COUNTBLANK 函数 函数返回连续区域中空白单元格的数目 (如果这些单元格都按不间断的顺序) 连接,则这些单元格都是连续的。 如果单元格包含返回空文本 ("") 的公式,则该单元格将计算在内。
当对单元格进行计数时,有时你想要包含空白单元格,因为它们对你有意义。 在下面的杂货销售电子表格示例中。 假设你想要找出有多少单元格未提及销售数据。
注意
COUNTBLANK 工作表函数提供了最方便的方法来确定区域中的空白单元格数,但是当感兴趣的单元格位于关闭的工作簿中或它们不形成连续区域时,该函数就不能很好地工作了。
使用 SUM 和 IF 函数组合对非连续区域中的空单元格进行计数
使用 SUM 函数和 IF 函数的组合。 通常情况下,在数组公式中使用 IF 函数来确定每个引用的单元格是否包含值,然后对公式返回的 FALSE 值的数目求和。
请参阅前面部分中 SUM 和 IF 函数组合的几个示例 计算本主题中 结合使用 SUM 和 IF 函数计算多个文本或数字值出现的频率 。
对仅出现一次的值进行计数
同时使用 数据透视表、 COUNTIF 函数、 SUM 和 IF 函数,或者使用 “高级筛选” 对话框,对某个区域的唯一值进行计数。
使用“高级筛选”对列表列中的唯一值进行计数
使用“高级筛选”对话框找到数据列中的唯一值。 你可以就地筛选值,或将其提取并粘贴到新的位置。 然后可以使用 ROWS 函数计算此新区域中项目的个数。
若要使用“高级筛选器”,请选择 “数据 ”选项卡,然后在 “排序 & 筛选器 ”组中,选择“ 高级”。
下图显示了如何使用“高级筛选”仅将唯一记录复制到工作表上的新位置。
在下图中,E 列包含从 D 列中区域复制的值。
注意
- 如果就地筛选数据,将不会从工作表中删除值 — 可能会隐藏一个或多个行。 在“数据”选项卡的“排序 & 筛选器”组中选择“清除”,以再次显示这些值。
- 如果你只想要快速查看唯一值的数目,在使用“高级筛选”后选择数据(筛选或复制的数据),然后查看状态栏。 状态栏上的“计数”值应等于唯一值的数目。
有关详细信息,请参阅 使用高级条件进行筛选
使用 IF、SUM、FREQUENCY、MATCH 和 LEN 函数计算区域内满足一个或多个条件的唯一值的数量
使用 IF、SUM、FREQUENCY、MATCH 和 LEN 函数的多个组合。
有关详细信息和示例,请参阅计算 重复项中的唯一值一文中的“使用函数计算唯一值的数目”部分。
特殊情况(对所有单元格进行计数,统计字数)
你可以使用工作表函数的各种组合计算区域中单元的格数目或字数。
使用 ROWS 和 COLUMNS 函数计算区域中的单元格总数
假设你想要确定大工作表的大小以决定是否要在你的工作簿中使用手动或自动计算。 要对某个区域中的所有单元格进行计数,请使用将返回值与 ROWS 和 COLUMNS 函数相乘的公式。 有关示例,请参阅下图:
用于
返回页首
使用 SUM、IF、LEN、TRIM 和 SUBSTITUTE 函数的组合对区域中的单词计数
可以在数组公式中结合使用 SUM、IF、LEN、TRIM 和 SUBSTITUTE 函数。 以下示例显示了使用嵌套公式查找 7 个单元格区域中的单词数的结果 (其中 3 个单元格为空) 。 有些单元格包含前导或尾随空格 — TRIM 和 SUBSTITUTE 函数将在进行任何计数之前删除这些额外的空格。 请参阅以下示例:
现在,要使上述公式正常工作,您必须将其设置为数组公式,否则该公式将返回 #VALUE! 错误。 为此,请选择包含公式的单元格,然后在编辑栏中按 Ctrl + Shift + Enter。 Excel 在公式的开头和末尾添加一个大括号,使其成为数组公式。
有关数组公式的详细信息,请参阅 Excel 中的公式概述 和 创建数组公式。
在状态栏上显示计算和计数
当选中一个或多个单元格时,Excel 状态栏上将显示有关这些单元格中数据的信息。 例如,如果选择工作表中的四个单元格,其值分别为 2、3、文本字符串(如“云”)和 4,则可在状态栏上同时显示下列所有值:平均值、计数、数值计数、最小值、最大值和求和结果。 右键单击状态栏以显示或隐藏任意或全部值。 这些值显示在下图中。
需要更多帮助吗?
你随时可以在 Excel 技术社区 中咨询专家,或在 社区中获取支持。