在比较值之前添加 ISBLANK 验证

Add ISBLANK validation before comparing values

其实我对Excel公式不是很熟悉。 我正在使用 E 列和 F 列中的日期为单元格着色

 =+IF(AND(DATEVALUE(I1)>=DATEVALUE($E);DATEVALUE(I1)<=DATEVALUE($F));1;2)

当 E 列和 F 列存在值时,此公式可以正常工作。 如果 E 和 F 不存在任何值,则会产生错误值。

我对ISBLANK()函数知之甚少。

我想添加条件以检查单元格 E2 和 F2 在现有公式之前是否为空。你能建议正确的语法吗?

谢谢

使用此条件可确保两者都不为空:

IF(OR(ISBLANK($E),ISBLANK*($F), your operations, "")

您需要将当前操作包装在一个检查每个单元格的函数中。如果其中任何一个为空,您可能需要 return "",否则 IF 将自动 return FALSE。

您可以使用 if 链,但由于 ISBLANK return 是布尔值,我们可以改为使用 OR。

OR(ISBLANK($E),ISBLANK($F))
如果两个单元格中的任何一个为空,

将 return 为 TRUE,因此您需要将您的操作置于 False 选项中,给我们:

=IF(OR(ISBLANK($E),ISBLANK($F)),"",IF(AND(DATEVALUE(I1)>=DATEVALUE($E),DATEVALUE(I1)<=DATEVALUE($F)),1,2))

尽管您的语法似乎很奇怪,可能是语言设置之类的,所以您可能更喜欢这个:

=+IF(OR(ISBLANK($E),ISBLANK($F));"";IF(AND(DATEVALUE(I1)>=DATEVALUE($E);DATEVALUE(I1)<=DATEVALUE($F));1;2))

感谢大家的建议和宝贵的时间。

但在阅读了一些 office.com 文档后,我找到了一个合适的解决方案。 IFERRORISBLANK 更适合我的问题

我没有检查空白单元格,而是直接在单元格上应用 DATEVALUE()。所以如果有一个空白单元格 DATEVALUE() return 错误和 IFERROR() 条件设置值 2.

=+IF(AND(DATEVALUE(G1)>=IFERROR(DATEVALUE($E),0),DATEVALUE(G1)<=IFERROR(DATEVALUE($F),0)),1,2)