Excel超1天时长期限比较公式异常问题求助
解决Excel时长跨天格式的期限判断问题
问题根源
直接用文本比较(如S2<="1:00")会触发Excel的字符串排序逻辑,而非基于实际时长的数值比较:
- 带天数的格式(如
1:00代表1天24小时),文本排序中"1:00"会被判定为小于"5:00",但实际24小时远大于5小时,导致公式返回错误结果。 - TIME函数仅支持0:00-23:59,无法处理跨天时长的数值转换。
修正方案
将时长转换为总小时数(或总分钟数)进行数值比较,避开文本排序的陷阱:
修正后的公式
=IF(OR(AND(VALUE(S2)*24 <= 1, D2="Imagerie Conventionnelle"), AND(VALUE(S2)*24 <=5, D2="Imagerie lourde")), "Oui", "Non")
公式原理
VALUE(S2):将Excel的时长格式(h:mm或d:h:mm)转换为日期时间序列号(1=1天=24小时)*24:将序列号转换为总小时数,便于和阈值(1小时/5小时)直接比较- 数值比较逻辑会严格按照实际时长大小判断,彻底解决跨天格式的判断错误
验证步骤
- 在空白列输入
=VALUE(S2)*24,查看该行时长对应的实际小时数,确认和手动计算结果一致 - 套用修正后的公式,对比手动验证结果,确认逻辑正确
内容的提问来源于stack exchange,提问作者Jon91
相关产品推荐
相关产品推荐

