用于比较时间值的公式

use*_*276 4 excel vba excel-2007 excel-vba excel-formula excel-2010

以下excel公式工作正常但在某些情况下它没有给我适当的价值.

输入:

19:20:42
24:58:36
26:11:18
Run Code Online (Sandbox Code Playgroud)

使用此公式后:

 =IF(TIMEVALUE(K7)>TIMEVALUE("09:00:00"),TRUE,FALSE)
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:

FALSE
TRUE
TRUE
Run Code Online (Sandbox Code Playgroud)

如果时间值>或= 24:00:00,我会观察到它不会给我正确的答案.我该如何解决?

Pat*_*rez 7

作为Captain的优秀答案的替代方案,您还可以使用:

=IF(K7>(9/24),TRUE,FALSE)
Run Code Online (Sandbox Code Playgroud)

DateTime值在内部存储为自19/1/19以来的天数,
因此1 = 1天= 24小时.所以9/24 = 0.375 = 9小时:-)

您可以通过清除DateTime单元格的格式轻松验证这一点.


编辑:请注意,这种布尔公式可以用更短的方式表达而不会丢失易读性:

=K7>(9/24)
Run Code Online (Sandbox Code Playgroud)