2012-10-12 195 views
3

我有一個起始時間和結束時間在Excel中:回合Excel的時間差下一個15分鐘間隔

開始時間 晚上9:15

結束時間9:30 PM 花費時間0: 15

我期待圍捕到下一個15分鐘增量,使用公式:

=ROUNDUP(A1*96,0)/96

但是,這將上面的示例數據從0:15加到0:30(它應該停留在0:15,因爲它已經是一刻鐘了)

如何在時間差已達到的情況下避免四捨五入一刻鐘?

+0

是否有可能在您的數據中有秒?我只是嘗試了你的公式,它似乎工作正常(結果在你的例子0:15)。 – RocketDonkey

+0

所有秒都是0,所以沒有...我沒有在Excel 2007中得到預期的結果... brettdj的解決方案工作完美 –

+1

是的,他們通常會這樣做:) – RocketDonkey

回答

2

你可以使用
=HOUR(A1)/24+CEILING(MINUTE(A1),15)/(24*60)

其將在 的A1時 - 晚上9:15到晚上9:15 - 下午9時16分至9:30 PM

+0

我愛堆棧交換,但我更愛你<3 完美工作,也佔了幾個小時! –

+0

@RyanEllis thx :)這個鏈接有更多的ROUND和CEILING,你可能會感興趣。 http://stackoverflow.com/q/8587474/641067 – brettdj

3

我通常會期望原始公式起作用。當我在Excel 2007中測試與始終是整個分鐘的原始配方ROUNDUP,brettdj的公式和下面的公式手動輸入時間值:

=CEILING(A1,"0:15")

.....所有給我同樣的結果

....但如果時間衍生從某種公式計算的,然後,使0:15被認爲是非常略微高於該值的excel浮點運算可引起非常小的舍入誤差(雖然它會仍然dis以0:15:00.000發揮),因此四捨五入爲0:30

因爲brettdj的建議只是着眼於小時和分鐘數問題被避免,但它會0:15:59舍入到0:15太多,所以這種方法可能是最好

=CEILING(MROUND(A1,"0:0:01"),"0:15")

舍入原來的時間精確到秒與MROUND(因此處理任何浮點錯誤),然後四捨五入到下一個四分之一小時

編輯:如果你使用公式得到th e A1時間值,可能值得在該公式中引入一些舍入,例如,包裹式MROUND像這樣四捨五入到最接近的第二

=MROUND(formula,"0:0:01")

它可能看起來像什麼也不做改變公式結果方面,而且將有可能避免與任何其他計算任何進一步的浮點問題你可能需要做...然後你的原公式與ROUNDUP應該工作......

+0

巴里,現貨!這正是發生的事情。我正在做一個減法,結束時間 - 開始時間,這增加了你描述的舍入誤差。現在我知道爲什麼這一切都發生在第一位感謝澄清! –

+0

不錯的後續巴里 – brettdj