我有以下公式:
=IF(TIMEVALUE("14:30") - TIMEVALUE(NOW()) < TIMEVALUE("00:00"),"Past","Future")
Excel给了我错误,我单独检查了所有公式,它们都给了我时间值(理论上应该足以与IF语句进行比较)。
为什么我会继续犯错误。有些单元格格式不正确还是什么?任何帮助表示赞赏!
答案 0 :(得分:2)
尝试逐步评估公式,看看是否符合您的要求。
工作方式:
=IF(TIMEVALUE("14:30") - NOW() < TIMEVALUE("00:00");"Past";"Future")
使用[F9键]评估参数:
=IF(0,604166666666667 - 42719,6943635416 < 0;"Past";"Future")
您将始终获得"Past"
作为返回值。
Excel中的TIME是一天的比例。 "00:00" = 0.00
和"24:00" = 1.00
。 TIME的其他值是0到1之间的DECIMALS。
DATE是自第一天起的天数。 "1900-01-01" = 1
和"2000-01-01" = 36526
。它总是一个INTEGER。
组合DATA和TIME(如NOW()
函数中)可以得到INTEGER + DECIMAL。当我评估NOW()
时,它返回了42719,6943635416
TIMEVALUE
函数需要一个被认为是TIME的STRING / TEXT并将该STRING / TEXT转换为DECIMAL在&lt; 0;之间。 -1。
MS - How to use dates and times in Excel
Trump-Excel:Identify Errors Using Excel Formula Debugging (2 Methods)
答案 1 :(得分:1)
首先使用Now
函数将Text
转换为字符串,然后它将按预期工作。
TEXT(NOW(),"HH:MM:SS")
最终公式:
=IF((TIMEVALUE("11:30") - TIMEVALUE(TEXT(NOW(),"HH:MM:SS"))) < TIMEVALUE("00:00"),"Past","Future")