Excel之间的时间返回相同范围内的不同值

时间:2016-01-15 19:38:29

标签: excel excel-formula excel-2007

我使用excel来计算时间之间的总分钟数。

我的计算公式如下:=INT((M3-L3)*1440)

Time1                   Time2                Minutes
5.1.2016  21:00:00      5.1.2016  22:00:00   59
5.1.2016  22:00:00      5.1.2016  23:00:00   60

第一个结果是59,但第二个结果是60.

这里有什么问题?

1 个答案:

答案 0 :(得分:3)

Excel在内部将日期/时间值表示为双精度浮点数。整数部分代表日期。小数部分代表时间。浮点数具有有限的精度(大约15个有效基数为10位)。这意味着某些数字无法准确表示,这会引入可能导致意外结果的小近似误差。

在您的示例中,第一次计算执行为...

=INT((5.1.2016 21:00 - 5.1.2016 22:00)*1440)
=INT((42491.875-42491.9166666667)*1440)
=INT(0.041666666664241*1440)
=INT(59.9999999965975)
=59

第二次计算是......

=INT((5.1.2016 22:00 - 5.1.2016 23:00)*1440)
=INT((42491.9166666667-42491.9583333333)*1440)
=INT(0.041666666664241*1440)
=INT(60.0000000069849)
=60

这是浮点数学的限制。

在这种特定情况下,您可以通过将INT(数字)替换为ROUND(数字,0)或MROUND(数字,1)来获得所需的结果