Excel日期计算和比较未返回预期结果

Excel日期计算和比较未返回预期结果,excel,Excel,项目计划在Excel中。目标是修复状态字段 我知道这可能不是最有效的方法。。我正在自动化项目任务的“状态”。该函数包含嵌套的IF和and组件 O7=相位;项目从准时到有风险到加班分为4个阶段,每个阶段都有变化 H7是计划结束日期(Excel中的日期字段),将其与今天()进行比较,以查看该值是否在函数中设置的参数范围内 以下是函数: = IF(AND(O7=1,TODAY()-H7<=0),"On Time", IF(AND(O7=1,0<TODAY()-H7<6),"At Ri

项目计划在Excel中。目标是修复状态字段

我知道这可能不是最有效的方法。。我正在自动化项目任务的“状态”。该函数包含嵌套的IF和and组件

O7=相位;项目从准时到有风险到加班分为4个阶段,每个阶段都有变化

H7是计划结束日期(Excel中的日期字段),将其与今天()进行比较,以查看该值是否在函数中设置的参数范围内

以下是函数:

=
IF(AND(O7=1,TODAY()-H7<=0),"On Time",
IF(AND(O7=1,0<TODAY()-H7<6),"At Risk",
IF(AND(O7=1,TODAY()-H7>5),"Overdue",
IF(AND(O7=2,TODAY()-H7<=0),"On Time",
IF(AND(O7=2,0<TODAY()-H7<8),"At Risk",
IF(AND(O7=2,TODAY()-H7>7),"Overdue",
IF(AND(O7=3,TODAY()-H7<=0),"On Time",
IF(AND(O7=3,0<TODAY()-H7<11),"At Risk",
IF(AND(O7=3,TODAY()-H7>10),"Overdue",
IF(AND(O7=4,TODAY()-H7<=0),"On Time",
IF(AND(O7=4,0<TODAY()-H7<21),"At Risk",
IF(AND(O7=4,TODAY()-H7>20),"Overdue"))))))))))))
=

IF(AND(O7=1,TODAY()-H7我不知道如何开始,您似乎不知道IF是否为else。当IF条件为false时,您不必再次检查它,例如:

IF(AND(O7=1,TODAY()-H7<=0),"On Time",
IF(AND(O7=1,0<TODAY()-H7<6),"At Risk",

如果(和(O7=1,TODAY()-h7问题在这里
0看我的答案,你可以改进你的公式。你正在检查许多不必要的条件..未来(和其他用户)的另一个选项当您有用于计算类别的范围时,需要创建第二个表,列出范围中的第一个值及其旁边的类别。然后使用带Appx匹配的VLOOKUP,它将自动为您对其进行分类。这样就不需要OP的IF语句。请注意,在他的例子中,他在st中有两个条件atement,因此您需要一个不同的表,具体取决于您所处的第一种情况。
IF(AND(O7=1,TODAY()-H7<=0),"On Time",
IF(AND(O7=1,0<TODAY()-H7<6),"At Risk",
IF(O7=1,IF((TODAY()-H7)<=0,"On Time",(TODAY()-H7)<6,"At Risk","Over Due"),
IF(O7=2,IF((TODAY()-H7)<=0,"On Time",(TODAY()-H7)<8,"At Risk","Over Due"),
IF(O7=3,IF((TODAY()-H7)<=0,"On Time",(TODAY()-H7)<11,"At Risk","Over Due"),
IF(O7=4,IF((TODAY()-H7)<=0,"On Time",(TODAY()-H7)<21,"At Risk","Over Due"),"N/A"))))