嵌套IF公式时间校验返回FALSE问题求助
问题分析与修正方案
原公式错误原因
你编写的公式逻辑层级混乱,完全不符合「实际时间优先校验」的规则:
- 当实际时间(C2)不为空时,公式没有进入针对C2的判断分支,反而去判断预计时间(B2)
- 针对C2的判断被错误嵌套在「预计时间超时」的分支里,永远不会被触发,最终导致逻辑失效返回FALSE
正确公式写法
写法一(简洁版)
先确定用于校验的时间(优先取C2,为空则取B2),再和超时阈值比较:
=IF(IF(C2<>"",C2,B2)<A2+TIME(0,15,0),"On track","Late")
写法二(清晰嵌套版)
明确区分「实际时间存在」和「实际时间为空」两种场景:
=IF(C2<>"", IF(C2<A2+TIME(0,15,0),"On track","Late"), IF(B2<A2+TIME(0,15,0),"On track","Late") )
公式逻辑说明
- 当C2不为空时,直接用C2和
A2+TIME(0,15,0)(开始时间加15分钟)比较 - 当C2为空时,改用B2进行相同规则的比较
- 小于阈值返回
"On track",大于等于则返回"Late"
内容的提问来源于stack exchange,提问作者ENZO22
相关产品推荐
相关产品推荐

