COUNTBLANK和其他函数来计算Excel中的空单元格

  • Share This
Michael Brown

本教程讨论了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函数认为哪些单元格是 "空白"。

    1. 包含任何文本、数字、日期、逻辑值、空格或错误的单元格不被计算在内。
    2. 含有的细胞 零点 被视为非空白,不计算在内。
    3. 含有返回公式的单元格 空字符串 ("")被视为空白,并被计算在内。

    看上面的截图,请注意,包含返回空字符串的公式的单元格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中计算空单元格的方法。 感谢你的阅读,希望下周能在我们的博客上见到你

    可用的下载

    计算空白单元格公式的例子

    Michael Brown is a dedicated technology enthusiast with a passion for simplifying complex processes using software tools. With more than a decade of experience in the tech industry, he has honed his skills in Microsoft Excel and Outlook, as well as Google Sheets and Docs. Michael's blog is dedicated to sharing his knowledge and expertise with others, providing easy-to-follow tips and tutorials for improving productivity and efficiency. Whether you're a seasoned professional or a beginner, Michael's blog offers valuable insights and practical advice for getting the most out of these essential software tools.