Excel中日期时间比较IF条件返回错误结果,求正确写法
Excel日期时间比较返回错误结果的修正方案
问题根源:你直接使用了文本格式的日期时间字符串进行比较,Excel会按字符串排序规则逐字符对比——31/05/2023...的首字符是3,01/06/2023...的首字符是0,3比0大,所以返回False,而非按实际时间先后判断。
以下是几种正确的IF条件写法:
用DATE+TIME函数构建标准日期时间值(最稳妥,不依赖区域设置):
=IF(DATE(2023,5,31)+TIME(23,45,0) < DATE(2023,6,1)+TIME(0,0,0), TRUE, FALSE)DATE函数生成日期序列号,TIME生成时间序列号,两者相加得到完整的日期时间值,Excel能正确识别并比较先后。
强制转换文本为日期时间值(适用于直接写字符串的场景):
=IF("31/05/2023 23:45"+0 < "01/06/2023 00:00"+0, TRUE, FALSE)给文本字符串加
+0会触发Excel的类型转换,把文本格式的日期时间转为可比较的序列号。引用已设置为日期格式的单元格:
如果A1单元格已输入并设置为「日期时间」格式的31/05/2023 23:45,B1是01/06/2023 00:00,直接用单元格引用即可:=IF(A1 < B1, TRUE, FALSE)
内容的提问来源于stack exchange,提问作者Leegeo George
相关产品推荐
相关产品推荐

