Excel 中的时间比较

Time comparison in Excel

这应该是直截了当的,我正在尝试比较时间值是否小于(或大于)另一个时间值。

    =IF(A1 > B1,True,False)

其中 A1 和 B1 是 [h]:mm 格式的小时数和分钟数。

A1 is 48:45 in [h]:mm format
B1 is 50:00 in [h]:mm format

如果我想用绝对时间(比如五十小时)替换公式中的 B1,答案可能是:

 =IF(A1 > TEXT("50:00", "[h]:mm"),True,False)
 =IF(A1 > TIME(50,00,0),True,False)

但事实并非如此。有什么想法吗?

TEXT returns 文本而不是数字,因此它总是大于时间。

但我们可以通过简单地将它乘以 -1*-1

将其转换为数字
=A1>--TEXT("50:00", "[h]:mm")

但是简单的也行:

=A1>--"50:00"

TIME returns 时间部分,因此:

TIME(50,00,0)

解析为 2:000.0833333,因为它是数字的时间部分,没有整数。

所以我们可以做一些简单的数学运算:

=A1 > 50/24

现在 50/24 将正确解析为 2.083333

VALUE功能可以派上用场。它是将表示数值的文本字符串转换为实际数值的内置函数,因此:

=A1>VALUE("50:00")