如何用NOW函数判断当前时间是否在两个时间之间?公式返回NO排查
问题分析与解决办法
可能的原因及对应方案
1. 日期格式不匹配
NOW()函数返回的是完整的日期+时间(比如2024/5/20 14:30),而L19/M19如果只设置了时间格式,实际存储的是默认日期(1900年1月1日)加上输入的时间。此时L9的日期部分远大于L19/M19的日期,导致区间判断不成立。
解决办法:提取L9的纯时间部分进行对比,修改G9的公式为:
=IF(AND(TIME(HOUR(L9),MINUTE(L9),SECOND(L9))>=L$19, TIME(HOUR(L9),MINUTE(L9),SECOND(L9))<=M$19),"YES","NO")
2. 时间区间顺序错误
如果L19的时间晚于M19(比如L19是18:00,M19是10:00),原公式的AND条件永远无法满足,自然返回NO。
解决办法:
- 如果是同一天内的顺序搞反,直接用
MIN/MAX统一区间范围:=IF(AND(L9>=MIN(L$19,M$19), L9<=MAX(L$19,M$19)),"YES","NO") - 如果是跨天的时间区间(比如18:00到次日10:00),改用
OR判断两个时间段:=IF(OR(AND(L9>=L$19, L9<=TODAY()+1), AND(L9>=TODAY(), L9<=M$19)),"YES","NO")
3. 单元格格式设置错误
检查L9、L19、M19的单元格格式是否为时间/日期时间格式,避免因格式显示问题导致的数值判断错误。
内容的提问来源于stack exchange,提问作者Insider
相关产品推荐
相关产品推荐

