在比较值之前添加ISBLANK验证

时间:2016-05-24 11:44:28

标签: excel excel-formula ms-office

实际上我对Excel公式并不熟悉。 我使用列E和F中的日期来着色单元格

drop table <tablename>

当E列和F列存在值时,此公式正常工作。 如果E和F没有值,则会产生错误值。

我对 =+IF(AND(DATEVALUE(I1)>=DATEVALUE($E$2);DATEVALUE(I1)<=DATEVALUE($F$2));1;2) 函数知之甚少。

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

由于

3 个答案:

答案 0 :(得分:1)

您需要将当前操作包装在检查每个单元格的函数中。如果其中任何一个为空白,您可能想要返回&#34;&#34;,否则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))

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

感谢所有人的建议和宝贵的时间。

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

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

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