在Excel中使用IF()和TIMEVALUE()
我有以下的公式:
=IF(TIMEVALUE("14:30") - TIMEVALUE(NOW()) < TIMEVALUE("00:00"),"Past","Future")
Excel给了我错误,我单独检查了所有的公式,他们都给我的时间价值(这理论上应该足以与IF语句进行比较)。
为什么我一直在得到错误。 一些单元格格式不正确或什么? 任何帮助表示赞赏!
尝试评估公式一步一步看,如果这是你想要的。
工作公式:
=IF(TIMEVALUE("14:30") - NOW() < TIMEVALUE("00:00");"Past";"Future")
评估参数,使用[F9键]:
=IF(0,604166666666667 - 42719,6943635416 < 0;"Past";"Future")
你将永远得到"Past"
作为返回值。
在Excel中的date和时间的说明
Excel中的TIME是一天中的一个比例 。 "00:00" = 0.00
和"24:00" = 1.00
。 TIME的其他值是0到1之间的DECIMALS。
DATE是从第一天起的几天。 "1900-01-01" = 1
和"2000-01-01" = 36526
。 它总是一个INTEGER。
结合数据和时间(就像在NOW()
函数中)给你一个INTEGER + DECIMAL。 当我评估NOW()
它返回42719,6943635416
TIMEVALUE
函数需要一个被认为是TIME的STRING / TEXT,并在<0;之间将STRING / TEXT转换为DECIMAL。 1>。
链接
MS – 如何在Excel中使用date和时间
Trump-Excel:使用Excel公式debugging识别错误(2种方法)
先将“ Now
转换为string,然后使用“ Text
function,然后按预期工作。
TEXT(NOW(),"HH:MM:SS")
最终公式:
=IF((TIMEVALUE("11:30") - TIMEVALUE(TEXT(NOW(),"HH:MM:SS"))) < TIMEVALUE("00:00"),"Past","Future")