使用 IF 和 ISBLANK 语句确定单元格区域是否包含信息

使用 IF 和 ISBLANK 语句确定单元格区域是否包含信息

我有一个公式,用于检查单元格区域是否为空白。

如果它们都是空白的,我想返回另一个空白。

如果范围内的任何单元格不为空,我想要返回一个值Major Milestone Due

这是我目前的公式:

=IF(ISBLANK(BM2:BQ2),"","Major Milestone Due")

它将返回所有内容Major Milestone Due,即使某些行范围内全是空白单元格。

答案1

COUNTA将给出范围内单元格的数量不是空的

所以尝试一下...

 =IF(NOT(COUNTA(BM2:BQ2)),"","Major Milestone Due")

答案2

如果你的公式输入的是数组公式

除非您使用++将其作为数组公式输入,否则它isblank不适用于数组。它看起来像这样,周围有花括号:ctrlshiftenter

{=IF(ISBLANK(BM2:BQ2),"","Major Milestone Due")}

此外,if - counta 也可以做到这一点,没有问题 -

=IF(COUNTA(BM2:BQ2)=0,"","Major Milestone Due")

答案3

需要考虑的一个重要问题是您对“空白”的定义。根据您使用的措辞“我想返回另一个空白”,似乎您将“空白”定义为单元格出现空白,但实际上可能包含输出的公式"",因此不是空的

COUNTA如果你想把这些类型的单元格作为空白处理,和方法ISBLANK将不起作用,因为这两个公式寻找的是真正的空的单元格。要处理输出的公式"",您有两个选择:


  • 如果你始终知道范围的大小,则可以使用以下任一方法

    =IF( COUNTBLANK(BM2:BQ2)=5, "", "Major Milestone Due")
    =IF( COUNTIF(BM2:BQ2,"")=5, "", "Major Milestone Due")

    5是范围的大小。此方法不适用于动态范围。


  • 稍微复杂一点的公式(至少解释起来更复杂!)使用SUMPRODUCT

    =IF( SUMPRODUCT(--(BM2:BQ2<>""))=0, "", "Major Milestone Due")


(请注意 与COUNTIF(BM2:BQ2,"<>")有同样的问题COUNTA。)

答案4

我来到这个页面是为了寻找几乎相同的问题的答案。

当我看到COUNTA提到这一点时,我几乎立刻就知道该怎么做。在稍微不同的上下文中,我有一列左侧的列范围,我想显示not started同一行中的所有单元格是否为空(空白)。

以下公式对我有用。

=IF(COUNTA(P3:U3)=0,"Not Started"...)

省略号表示IF我的公式中还有几个附加函数,如果填充了一个或多个函数,则会对范围执行进一步测试。

相关内容