返回列表 上一主題 發帖

Rounding 函數

有什麼 rounding 函數可以讓例如:

180.05
73.50
79.90
45.20

全部進位為 0.90

答案:
180.90
...
Qin 發表於 2013-11-1 22:55

提供你兩種模式處理方式:
1.  使用公式:
  1. =INT(A1)+0.9
複製代碼
.   .   .   .    .
  1. =INT(A4)+0.9
複製代碼
2.  使用 VBA 處理:
  1. Sub Ex()
  2.     Dim rng As Range
  3.    
  4.     For Each rng In Range("A1", Range("A" & Rows.Count).End(xlUp))
  5.         rng.Offset(, 1) = Int(rng) & ".9"
  6.     Next
  7. End Sub
複製代碼
如果使用 Round 方式: (譬如: A3 =  79.9;  E3 = ?)
  1. =ROUND(A3,0)+0.9
複製代碼
或者是
  1. Sub Ex()
  2.     Dim rng As Range
  3.    
  4.     For Each rng In Range("A1", Range("A" & Rows.Count).End(xlUp))
  5.         rng.Offset(, 1) = Int(rng) & ".9"
  6.         rng.Offset(, 4) = Round(rng, 0) & ".9"
  7.     Next
  8. End Sub
複製代碼
E3 的結果等於 80.9。
所以使用 INT() 會去掉 number 的小數部份而傳回剩下的整數 (79.9)。
如考慮有負值時,則建議使用 Fix() 函數。

TOP

回復 1# Qin

樓主,>7.9 <8.0 這一段是要變成 7.9或8.9
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復  Qin

樓主,>7.9
ML089 發表於 2013-11-2 14:38



    7.90 沿用
    8.00 就進位為 8.90

TOP

回復 13# Qin

明確來講就是 >=7.0, <8.0 都是 7.9
用 INT(數值)+0.9比較明確

不建議使用 ROUND函數
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

        靜思自在 : 受人點水之恩,須當湧泉以報。
返回列表 上一主題