Excel中使用TODAY函数判断日期范围时返回结果异常的问题
Excel日期范围判断函数问题修正
你的公式逻辑存在错误,导致测试过去日期时始终返回TRUE。
问题根源
你当前的公式:
=IF(AND(date1<=TODAY(),TODAY()>=date2), TRUE, FALSE)
这个逻辑是判断今天晚于等于date1,且今天晚于等于date2——只要date1和date2都是过去的日期,今天必然同时满足这两个条件,所以会一直返回TRUE,完全起不到“判断今天是否在date1和date2之间”的作用。
修正方案
如果你的需求是判断今天是否处于date1(起始日期)到date2(结束日期)的区间内(包含两端),正确的公式应该是:
=IF(AND(TODAY() >= date1, TODAY() <= date2), TRUE, FALSE)
甚至可以简化,因为AND函数本身就会返回布尔值,无需嵌套IF:
=AND(TODAY() >= date1, TODAY() <= date2)
额外注意事项
- 确认
date1和date2是Excel可识别的日期格式(而非文本),可以用=ISDATE(date1)验证,返回TRUE则格式正确。 - 如果你的日期区间是
date2为起始、date1为结束,只需调整条件顺序:=AND(TODAY() >= date2, TODAY() <= date1)
内容的提问来源于stack exchange,提问作者progumbii
相关产品推荐
相关产品推荐

