2016-07-23 57 views
-1

我想在Excel中的值在小數點後大於5時舍入。如何在Excel中舍入值

例如:

  • 如果num = 9.15,結果= 9.1

  • 如果num = 9.16,結果= 9.2

+0

右鍵單擊單元格,然後單擊格式單元格 - >數字 - >類別 - >數字 - >小數 – Andreas

+0

我想我現在明白你的問題... 9.15通常輪到9.2 – Andreas

+0

它總是小數的第二位,你需要舍入或下降,或最後一個地方(可能是9.5,9.15,9.115等)? –

回答

1

對於第二OND小數位,我要張貼

=IF(AND(FIND(".",A2&".")=(LEN(A2)-2),RIGHT(A2)="5"),--LEFT(A2,LEN(A2)-1),ROUND(A2,1)) 

一個非常簡單的方法(根據@賈森的評論修改)被

=ROUND(A4-10^-10*SIGN(A4),1) 

這應該是罰款至小數點後幾個地方如果將小數位數更改爲四捨五入(但如果數字過大,則會由於舍入錯誤而失敗)。

這也給了很好的效果在很寬範圍的數字: -

​​

要推廣的第一個多一點,你可以嘗試

=IF(ISNUMBER(FIND(".",A2)),IF(RIGHT(A2)="5",--LEFT(A2,LEN(A2)-1),ROUND(A2,LEN(A2)-FIND(".",A2)-1)),A2) 

圓最後一個小數位下來,如果這是一個5.

+1

嘗試在a2中有15個 – Jasen

+0

是的,它需要檢查小數位數 - 將編輯它。 –

2

雖然您的需要與當前有效的舍入規則相矛盾,但它可以通過以下公式實現:

=TRUNC($A1*10^1+0.4*SIGN($A1))/10^1 

A1中的值可以是任何正數或負數的任意長度的小數值。它將被「舍入」到小數點後1位。公式中的10^1部分導致舍入到小數點後1位。使用10^2四捨五入到小數點後兩位,依此類推。

0

這應該這樣做

=ceil(A1*10-0.5)/10

+0

對於Excel應爲'= CEILING(A1 * 10-0.5,1)/ 10'。但是,是的,這是另一種可能性。將下降到9.15〜9.1,但是將達到9.151〜9.2。我的解決方案將始終只檢查第二個小數位。那麼哪個更好取決於@Aman Malhotra真正想要的。 –

+0

我的文檔說excel有'ceil',還有'ceil'在'ceiling'離開零的時候向上轉。 – Jasen

+0

哪個Excel版本?我的(Excel 2007和Excel 2016)沒有。在Excel 2016中,您可以執行'= CEILING.MATH(A1 * 10-0.5)/ 10' –