使用 IF 和 ISBLANK 语句来确定单元格范围内是否有任何信息

Hea*_*her 11 microsoft-excel

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

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

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

这是我目前拥有的公式:

=IF(ISBLANK(BM2:BQ2),"","Major Milestone Due")
Run Code Online (Sandbox Code Playgroud)

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

小智 17

COUNTA将给出一个范围内非空的单元格数。

所以试试...

 =IF(NOT(COUNTA(BM2:BQ2)),"","Major Milestone Due")
Run Code Online (Sandbox Code Playgroud)


Ray*_*ian 9

如果您的公式是作为数组公式输入的,则它是正确的。

isblank除非你进入它通过使用数组公式不适用于数组工作ctrl+ shift+ enter。通过在它周围加上大括号,它看起来像这样:

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

此外,如果 - counta 也可以做到这一点 -

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


Mar*_*hes 5

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

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。)