Excel如果语句日期范围为Late,OnTime和Open

时间:2013-11-09 01:13:48

标签: excel if-statement

=IF(Q2>P2 +30,"Late","")如果单元格Q2为空,我将如何获得返回值“打开”,如果Q2小于P2,我将如何获得“OnTime”。

谢谢

1 个答案:

答案 0 :(得分:1)

您只需要嵌套一些If语句。

你所拥有的是(伪代码):

   If Q2 > P2 + 30 Then "Late"
   Else If Q2 <= P2 + 30 Then "On Time"
   Else If Q2 = Empty Then "Open"

If语句,无论是公式还是VBA /代码,都包含:

If(expression, true_part, false_part)

您可以通过在If(或您可能需要的任何其他公式)中添加另一个false_part语句来嵌套它们。

例如,您可以通过以下方式模仿ABS函数:

If(A1>=0,A1,-1*A1)

因此,在上面的示例中,您可以看到我们如何在false_part中使用等式或公式来进行一些额外的转换。在您的情况下,公式将只是要评估的另一个If语句。类似的东西:

If(Q2>P2+30,"Late",If(Q2<=P2+30,"On Time",If(Q2="","Open","")))

为简单起见,我可能会这样做:

If(Q2="","Open",IF(Q2<=P2+30,"On Time","Late"))

这样,您首先要检查Q2是否为空/非空,并且仅针对Q2 / P2 + 30进行一次测试。它只是一个较短的等式,但它做同样的事情。