在excel

时间:2016-12-15 15:02:59

标签: excel if-statement time

我有以下公式:

=IF(TIMEVALUE("14:30") - TIMEVALUE(NOW()) < TIMEVALUE("00:00"),"Past","Future")

Excel给了我错误,我单独检查了所有公式,它们都给了我时间值(理论上应该足以与IF语句进行比较)。

为什么我会继续犯错误。有些单元格格式不正确还是什么?任何帮助表示赞赏!

2 个答案:

答案 0 :(得分:2)

尝试逐步评估公式,看看是否符合您的要求。

工作方式:
=IF(TIMEVALUE("14:30") - NOW() < TIMEVALUE("00:00");"Past";"Future")

使用[F9键]评估参数:
=IF(0,604166666666667 - 42719,6943635416 < 0;"Past";"Future")

您将始终获得"Past"作为返回值。

Excel中的日期和时间说明

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")