2016-01-15 75 views
4

我使用Excel來計算時間之間的總分鐘數。Excel之間的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

如果刪除'INT'包裹物,其結果將是相同的。我只是測試它。有關INT函數如何影響計算的更多信息,請參見[this](http://spreadsheets.about.com/od/roundingnumberfunctions/ss/2011-07-01-excel-integer-int-function-2010.htm) –

回答

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)

相關問題