Table of contents
本教程讨论了COUNTBLANK函数的语法和基本用途,以计算Excel中空白单元格的数量。
在最近的几篇文章中,我们讨论了在Excel中识别空白单元格和突出显示空白的不同方法。 然而,在某些情况下,你可能想知道有多少单元格中没有任何东西。 Microsoft Excel也有专门的功能。 本教程将向你展示最快和最方便的方法,以获得一个区域中的空单元格以及完全空白的单元格数量。行。
Excel COUNTBLANK函数
Excel中的COUNTBLANK函数是用来计算指定范围内的空单元格的。 它属于统计函数的范畴,在Office 365、Excel 2019、Excel 2016、Excel 2013、Excel 2010和Excel 2007的所有版本中都可用。
这个函数的语法非常简单,只需要一个参数。
COUNTBLANK(range)在哪里? 范围 是指要计算空白的单元格的范围。
下面是Excel中最简单的COUNTBLANK公式的一个例子。
=countblank(a2:d2)
在E2中输入的公式,向下复制到E7中,确定每一行中A到D列的空单元格数量,并返回这些结果。
提示:要计算 非空白 在Excel中的单元格,使用COUNTA函数。
COUNTBLANK函数--需要记住的3件事
为了有效地使用Excel公式计算空白单元格,必须了解COUNTBLANK函数认为哪些单元格是 "空白"。
- 包含任何文本、数字、日期、逻辑值、空格或错误的单元格不被计算在内。
- 含有的细胞 零点 被视为非空白,不计算在内。
- 含有返回公式的单元格 空字符串 ("")被视为空白,并被计算在内。
看上面的截图,请注意,包含返回空字符串的公式的单元格A7被计算了两次。
- COUNTBLANK认为零长度的字符串是一个空单元格,因为它看起来是空白的。
- COUNTA将一个零长度的字符串视为非空单元格,因为它实际上包含一个公式。
这听起来可能有点不合逻辑,但Excel确实是这样工作的:)
如何计算Excel中的空白单元格--公式示例
COUNTBLANK是最方便的,但不是在Excel中计算空单元格的唯一方法。 下面的例子演示了其他一些方法,并解释了在什么情况下最好使用哪个公式。
用COUNTBLANK计算范围内的空白单元格
每当你需要在Excel中计算空白时,COUNTBLANK是第一个要尝试的函数。
例如,为了得到下表中每一行的空单元格的数量,我们在F2中输入以下公式。
=countblank(a2:e2)
由于我们对范围使用了相对引用,我们可以简单地向下拖动公式,引用将为每一行自动调整,产生以下结果。
如何使用COUNTIFS或COUNTIF计算Excel中的空白单元格
在Excel中计算空单元格的另一种方法是使用COUNTIF或COUNTIFS函数或以空字符串("")作为标准。
在我们的案例中,公式将如下。
=countif(b2:e2, "" )
或
=countifs(b2:e2, "")
正如你在下面的截图中所看到的,COUNTIFS的结果与COUNTBLANK的结果完全相同,所以在这种情况下使用哪种公式是你个人的偏好问题。
计算有条件的空白单元格
在某种情况下,当你想根据某些条件来计算空单元格时,COUNTIFS是正确使用的函数,因为其语法规定了 多重标准 .
例如,要确定A列中有 "苹果 "而C列中有空白的单元格的数量,可以使用这个公式。
=COUNTIFS(A2:A9, "apples", C2:C9, "" )
或者在一个预定义的单元格中输入条件,例如F1,并将该单元格作为标准来参考。
=countifs(a2:a9, f1, c2:c9, "" )
Excel中的IF COUNTBLANK
在某些情况下,你可能不只是需要计算一个区域中的空白单元格,而是根据是否有任何空单元格来采取一些行动。
虽然在Excel中没有内置的IF COUNTBLANK函数,但你可以通过将IF和COUNTBLANK函数一起使用来轻松地制作自己的公式。 下面是方法。
- 检查空白数是否等于零,并把这个表达式放在IF的逻辑测试中。
countblank(b2:d2)=0
- 如果逻辑测试结果为TRUE,则输出 "没有空白"。
- 如果逻辑测试结果为FALSE,则输出 "空白"。
完整的公式是这样形成的。
=IF(COUNTBLANK(B2:D2)=0, "无空白", "空白")
结果,该公式确定了所有缺少一个或多个数值的行。
或者你可以根据空白计数运行另一个函数。 例如,如果在B2:D2范围内没有空单元格(即如果COUNTBLANK返回0),则对这些值进行求和,否则返回 "空白"。
=IF(COUNTBLANK(B2:D2)=0, SUM(B2:D2), "空白")
如何计算Excel中的空白行
假设你有一个表格,其中一些行包含信息,而其他行完全是空白的。 问题是--你如何得到不包含任何内容的行的数量?
我想到的最简单的解决方案是添加一个辅助列,并在其中填入Excel的COUNTBLANK公式,找出每行的空白单元格数量。
=countblank(a2:e2)
然后,使用COUNTIF函数找出有多少行的单元格是空白的。 由于我们的源表包含5列(A到E),我们计算有5个空单元格的行。
=countif(f2:f8, 5))
你可以使用COLUMNS函数自动计算,而不是 "硬编码 "列的数量。
=countif(f2:f8, columns(a2:e2))
如果你不想破坏你设计精美的工作表的结构,你可以用一个更复杂的公式来实现同样的结果,但不需要任何帮助列,甚至不需要数组输入。
=SUM(--(MMULT(--(A2:E8""), ROW(INDIRECT("A1:A"&COLUMNS(A2:E8))))=0))
由内而外的工作,以下是该公式的作用。
- 首先,通过使用A2:E8""这样的表达式来检查整个范围内的非空白单元格,然后通过使用双单数运算符(--)将返回的逻辑值TRUE和FALSE强制为1和0。 这个操作的结果是一个由1(非空白)和0(空白)组成的二维阵列。
- ROW部分的目的是为了生成一个垂直的数字阵列 非零 在我们的例子中,范围包括5列(A2:E8),所以我们得到这个数组:{1;2;3;4;5}。
- MMULT函数计算上述数组的矩阵积,产生的结果是:{11;0;15;8;0;8;10}。 在这个数组中,对我们来说唯一重要的是0值,代表所有单元格都是空白的行。
- 最后,你将上述数组中的每个元素与0进行比较,将TRUE和FALSE胁迫为1和0,然后将最终数组中的元素相加:{0;1;0;0;1;0;0}。 记住,1对应于空白行,你会得到想要的结果。
如果上述公式对你来说似乎太难理解,你可能更喜欢这个公式。
=SUM(--(COUNTIF(INDIRECT("A"&ROW(A2:A8) & ":E"&ROW(A2:A8)), ""&")=0)
在这里,你使用COUNTIF函数来查找每一行有多少个非空白单元格,INDIRECT将这些行逐一 "喂 "给COUNTIF。 这个操作的结果是一个类似{4;0;5;3;0;3;4}的数组。 检查0,将上述数组转化为{0;1;0;0;1;0;0},其中1代表空白行,所以你只需要将它们加起来。
计算真正的空白单元格,不包括空字符串
在前面所有的例子中,我们都在计算空白单元格,包括那些看起来是空白但实际上包含一些公式返回的空字符串("")。 如果你想从结果中排除零长度的字符串,你可以使用这个通用公式。
ROWS( 范围 ) * COLUMNS( 范围 ) - COUNTA( 范围 )该公式所做的是用行数乘以列数,得到该区域的单元格总数,从中减去COUNTA返回的非空白单元格数。 你可能记得,Excel COUNTA函数将空字符串视为非空白单元格,因此它们不会被包括在最终结果中。
例如,要确定A2:A8区域有多少个绝对空的单元格,下面是要使用的公式。
=rows(a2:a8) * columns(a2:a8) - counta(a2:a8)
下面的屏幕截图显示了结果。
这就是在Excel中计算空单元格的方法。 感谢你的阅读,希望下周能在我们的博客上见到你
可用的下载
计算空白单元格公式的例子