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:00
或 0.0833333
,因为它是数字的时间部分,没有整数。
所以我们可以做一些简单的数学运算:
=A1 > 50/24
现在 50/24
将正确解析为 2.083333
VALUE
功能可以派上用场。它是将表示数值的文本字符串转换为实际数值的内置函数,因此:
=A1>VALUE("50:00")
这应该是直截了当的,我正在尝试比较时间值是否小于(或大于)另一个时间值。
=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:00
或 0.0833333
,因为它是数字的时间部分,没有整数。
所以我们可以做一些简单的数学运算:
=A1 > 50/24
现在 50/24
将正确解析为 2.083333
VALUE
功能可以派上用场。它是将表示数值的文本字符串转换为实际数值的内置函数,因此:
=A1>VALUE("50:00")