比较值之前添加ISBLANKvalidation

其实我对Excel公式不太熟悉。 我使用列E和F中的date来为单元格着色

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

当列E和列F存在值时,此公式工作正常。如果E和F没有值,则它将导致错误值。

我知道一点关于ISBLANK()函数。

我想添加条件来检查单元格E2和F2在我现有的公式之前不是空白的。 你可以请build议适当的语法?

谢谢

您需要将您当前的操作包装在检查每个单元格的函数中。 如果其中任何一个是空的,你可能想要返回“”,否则IF将自动返回FALSE。

你可以使用ifs链,但是由于ISBLANK返回一个布尔值,我们可以使用OR。

 OR(ISBLANK($E$2),ISBLANK($F$2)) 

如果两个单元格中的任何一个都为空,将返回TRUE,因此您需要将操作置于False选项中,从而为我们提供:

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

虽然你似乎有奇怪的语法,可能是语言设置或什么的,所以你可能更喜欢这个:

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

使用这个条件将确保两个都不是空的:

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

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

但是在阅读一些office.com文档后,我find了一个合适的解决scheme IFERRORISBLANK更适合我的问题

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

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