數位工具

Excel四捨五入後合計差 1 元?ROUND 函數與無條件進位捨去

報價表上的五列金額看起來都是整數,逐列加起來是 13,423,最下面的合計欄卻顯示 13,422。差的這 1 元不大,客戶拿到報價單一加就看得出來,也會開口問哪一邊算錯了。這類落差多半出在 Excel四捨五入的做法,而不是公式本身算錯。

問題通常從折扣開始。85 折一乘,1,290 元的名片設計變成 1,096.5,3 式 1,530 元的海報設計變成 3,901.5,帶著小數的金額被格式顯示成整數,畫面看起來整齊,儲存的數字卻沒有變。Excel 把數字整理成整數有兩條路,一條只改畫面,另一條才會真的改掉儲存的數字;選錯了,合計就會跟各列對不起來。

真正把數字改掉的是 ROUND函數。它的語法只有兩個引數,學會之後,無條件進位、無條件捨去也都是在同一套位數規則上換個方向,要進位到 50 元的倍數,再換成倍數函數即可。這幾個函數共用的起點,是先弄清楚位數這個引數指的是哪一個位置。

Excel四捨五入用 ROUND函數,兩個引數就夠

想把數字整理到指定的位置,最直接的做法是 ROUND函數,公式長這樣:

=ROUND(數字, 位數)Code language: Excel (excel)

第一個引數放要處理的數字,第二個引數放要保留到哪一位,兩個都不能省。位數大於 0 時,數字會四捨五入到指定的小數位數;位數等於 0 時,會取到最接近的整數;位數小於 0 時,則往小數點左邊走,整理到十位、百位或千位。

這個位數規則也是 ROUNDUP、ROUNDDOWN 的地基,兩者的語法跟 ROUND 一模一樣,只是把方向固定成進位或捨去。

ROUND 兩個引數 number 與 num_digits 的分工

Microsoft 的說明頁把這兩個引數稱為 number 與 num_digits,前者是要處理的數字,後者是位數,兩個引數之間用半形逗號隔開。函數名稱在繁體中文版 Excel 一樣照英文輸入,不用另外找中文名稱。第一個引數可以是儲存格,也可以是一條會算出數字的算式,以報價表 E2 的折後小計 1,096.5 為例,=ROUND(E2,0) 的結果是 1,097。

第二個引數決定留到哪一位。最常見的兩個需求各有一條公式,想取整數元,位數寫 0,=ROUND(E2,0);想留兩位小數,位數寫 2,=ROUND(E2,2)。再看兩個小數的例子,=ROUND(2.15,1) 得 2.2,=ROUND(2.149,1) 得 2.1,判斷依據都是小數第二位,一個是 5、一個是 4,由它決定小數第一位要不要進位。

位數為正、為 0 與為負時的保留位置

同一個數字 1,234.5678,換 7 個位數會得到 7 種結果,下表可以一次看完:

位數公式結果保留到
3=ROUND(1234.5678,3)1,234.568小數第 3 位
2=ROUND(1234.5678,2)1,234.57小數第 2 位
1=ROUND(1234.5678,1)1,234.6小數第 1 位
0=ROUND(1234.5678,0)1,235個位
-1=ROUND(1234.5678,-1)1,230十位
-2=ROUND(1234.5678,-2)1,200百位
-3=ROUND(1234.5678,-3)1,000千位

最容易記反的是負數位數。負號代表往小數點左邊走,-1 是十位,-2 是百位,-3 是千位,所以報價想整理到百元,位數就寫 -2。要整理到的位置比數字本身的最高位還高時,結果會變成 0,或是直接進到下一個單位,例如 =ROUND(1.98,-1) 得 0,=ROUND(626.3,-3) 得 1,000。

ROUND 位數對照:1,234.5678 位數 -3 到 3 分別保留到千位至小數第 3 位,負數往小數點左邊整理
位數 0 是個位,負數往小數點左邊整理到十、百、千位,正數保留到指定的小數位數。

另一個容易誤判的是 =ROUND(21.5,-1)。這個數字帶著 .5,很容易讓人以為要進位成 30,其實位數 -1 只看個位數字,個位是 1,不到 5,所以結果是 20,小數部分完全不參與判斷。

尾數剛好是 5 時,正負數都往遠離 0 的方向

尾數剛好是 5 的時候,ROUND 一律進位,而且正負數是對稱的,正數往更大的方向進,負數則往更小的方向進,也就是離 0 更遠。前面的 =ROUND(2.15,1) 得 2.2,換成負數,=ROUND(-1.475,2) 得 -1.48,兩個例子的方向一致。

拿報價表來看,E2 的 1,096.5 用 =ROUND(E2,0) 得 1,097。同一筆金額如果是折讓,也就是 -1,096.5,=ROUND(-1096.5,0) 得 -1,097。

所以一筆金額和它的折讓各自取整之後,絕對值會一樣,正負號相反,加起來剛好抵銷,不會出現一邊進位、一邊捨去的情況。

在折扣報價表裡算出整數元的小計

學會語法之後,最值得練習的是整張報價表。下面是虛構的龐果設計報價表,A 欄是品項,B 欄是數量,C 欄是單價,D 欄是折扣 0.85,資料從第 2 列開始放到第 6 列:

品項數量單價折扣
名片設計1 式1,2900.85
DM 單張設計2 式8700.85
海報設計3 式1,5300.85
社群貼文模板5 式6900.85
型錄內頁排版4 式1,1800.85

折扣 0.85 很適合拿來示範,因為它常把整數乘出 .5 的尾數,正好是四捨五入最需要處理的情況。E 欄要放折後小計,F 欄放取整後的金額。

步驟一,先用乘法算出帶小數的折後小計

在 E2 輸入下面的公式,按 Enter,再把儲存格右下角的填滿控點往下拖到 E6:

=B2*C2*D2Code language: Excel (excel)

E2 到 E6 會依序算出 1,096.5、1,479、3,901.5、2,932.5、4,012,其中有 3 列帶著 .5。

原因在於 0.85 等於 17/20,數量乘單價之後只要是 20 的倍數,結果就是整數,不是的話就會留下尾數。DM 單張設計是 2 × 870 = 1,740,型錄內頁排版是 4 × 1,180 = 4,720,剛好都是 20 的倍數,所以是整數。名片設計的 1,290、海報設計的 4,590、社群貼文模板的 3,450 都不是 20 的倍數,乘完折扣之後尾數剛好是 .5。

步驟二,輸入 ROUND 公式並指定位數

在 F2 輸入下面這條公式,位數寫 0,代表取整數元:

=ROUND(E2,0)Code language: Excel (excel)

直接在儲存格或編輯列輸入就可以,不需要特地從選單裡找函數。E2 的 1,096.5 在 F2 變成 1,097。

位數放在公式的最後一個位置,改這個數字就能改變保留到哪一位。報價想整理到十元,就把 0 換成 -1,=ROUND(E2,-1) 會把 1,096.5 變成 1,100。Excel四捨五入公式平常最常調整的,就是最後這個位數。

步驟三,往下複製並核對每一列

選取 F2,拖曳儲存格右下角的填滿控點到 F6,五列結果依序是 1,097、1,479、3,902、2,933、4,012。公式裡的 E2 會隨著列數自動變成 E3、E4……,這是相對參照,不用逐列重新輸入。

核對時看兩件事就夠了。第一件是帶 .5 的三列有沒有進位,也就是 1,096.5 變成 1,097、3,901.5 變成 3,902、2,932.5 變成 2,933。第二件是本來就是整數的兩列有沒有維持不變,=ROUND(1479,0) 仍然是 1,479,4,012 也還是 4,012。ROUND 只會動有尾數的數字,整數丟進去不會被改動。

報價表 E 欄算出折後小計,F 欄用 ROUND(E2,0) 取整數元,帶 .5 的三列進位、整數列維持不變
F 欄用 =ROUND(E2,0) 往下複製,1,096.5、3,901.5、2,932.5 進位,整數的兩列維持不變(示意圖)。

ROUND 直接包住整條乘法算式的寫法

不想多開一欄的話,也可以直接寫成下面這樣,一格就完成,第一列同樣得到 1,097:

=ROUND(B2*C2*D2,0)Code language: Excel (excel)

任何會算出數字的公式都能放進 ROUND 的第一個引數,除法也一樣,例如 =ROUND(C2/B2,0)。

代價是公式變長,而且看不到取整之前的金額。需要留著原始小數、讓自己或客戶回頭對帳時,分成兩欄比較清楚;如果只需要最後的整數,報價表又沒有其他地方會引用取整前的金額,單格寫法就夠用。

無條件進位用 ROUNDUP,捨去用 ROUNDDOWN

ROUND 會看尾數大小來決定進位或捨去,有些情境卻不能看尾數。把函數名稱換成 ROUNDUP 或 ROUNDDOWN,語法一模一樣,位數的規則也完全相同,差別只在方向固定,ROUNDUP 有尾數就進位,ROUNDDOWN 有尾數就捨去。

Excel無條件進位和 Excel無條件捨去這兩個需求,用的就是這一對函數。選哪一個,取決於這個數字是不能少,還是不能多。

ROUNDUP 只要有尾數就進位,適合算包數

貼紙每包 25 張,客戶要 130 張。=130/25 得 5.2 包,出貨不可能只出 5.2 包,只出 5 包又會數量不夠。這時用 Excel無條件進位的公式 =ROUNDUP(130/25,0),結果是 6 包,實際出貨 150 張。

ROUNDUP 不看尾數大小,尾數再小也進位,=ROUNDUP(5.001,0) 一樣得 6。其他常見的例子如下:

  • =ROUNDUP(3.2,0) 得 4
  • =ROUNDUP(76.9,0) 得 77
  • =ROUNDUP(3.14159,3) 得 3.142
  • =ROUNDUP(31415.92654,-2) 得 31,500

位數的規則和 ROUND 相同,最後一個例子位數是 -2,所以進位到百位。算包數、算箱數、算需要幾張紙這類不能少的數量,都適合用 ROUNDUP。

ROUNDDOWN 不看尾數大小,適合報價抹零

報價尾數想抹零,可以用 =ROUNDDOWN(E5,-1),把社群貼文模板的 2,932.5 抹到 2,930。位數 -1 是整理到十位,個位的 2 和後面的 .5 都直接丟掉。

ROUNDDOWN 完全不看尾數大小,尾數是 .9 也一樣捨去。=ROUNDDOWN(76.9,0) 得 76,=ROUNDDOWN(3.2,0) 得 3,=ROUNDDOWN(3.14159,3) 得 3.141,=ROUNDDOWN(31415.92654,-2) 得 31,400。

這個函數對客戶是讓利,對自己是少收,用之前要先確認抹零的規則,是只抹個位,還是抹到十位。規則定好之後,公式只是照著執行。

同一個數字在 3 個函數下的結果對照

取整數元時,三個函數只差在對尾數的處理。拿 1,096.2、1,096.5、1,096.8 三個數字來對照:

數字ROUNDROUNDUPROUNDDOWN
1,096.21,0961,0971,096
1,096.51,0971,0971,096
1,096.81,0971,0971,096

ROUNDUP 三列都是 1,097,ROUNDDOWN 三列都是 1,096,只有 ROUND 會隨著尾數大小改變方向。位數換成 -1、-2,差別還是一樣,以海報設計的 3,901.5 為例:

位數ROUNDROUNDUPROUNDDOWN
-13,9003,9103,900
-23,9004,0003,900

位數 -2 時,ROUNDUP 直接進到 4,000,ROUND 與 ROUNDDOWN 都停在 3,900。三個函數沒有哪一個比較好,差別在於報價規則要的是一律進、一律捨,還是照尾數大小決定。

1,096.2、1,096.5、1,096.8 取整數元時,ROUND 依尾數改變方向,ROUNDUP 都得 1,097,ROUNDDOWN 都得 1,096
三個函數只差在對尾數的處理,ROUND 看尾數大小,ROUNDUP 一律進位,ROUNDDOWN 一律捨去。

折讓與退款是負數時,進位和捨去以 0 為基準

報價表除了正數金額,還會有折讓、退款這類負數。進位和捨去在負數上的意思,是以離 0 的遠近來定義,不是數線上的左右。ROUNDUP 把數字推離 0,ROUNDDOWN 把數字拉向 0,所以對負數來說,進位反而會讓數字變得更小。

INT 與 TRUNC 也會取整數,但它們不是四捨五入,在負數上的表現還彼此不同。

ROUNDUP 遠離 0,ROUNDDOWN 趨近 0

先看小數的例子,=ROUNDUP(-3.14159,1) 得 -3.2,=ROUNDDOWN(-3.14159,1) 得 -3.1。-3.2 在數線上比 -3.1 更小,但它的絕對值更大,離 0 更遠。

換成報價表的折讓 -1,096.2,=ROUNDUP(-1096.2,0) 得 -1,097,=ROUNDDOWN(-1096.2,0) 得 -1,096。

所以進位不等於變大。折讓單上的 -1,096.2 進位成 -1,097,數線上變小了,折讓的金額卻變大了。用 ROUNDDOWN 則剛好相反,折讓的金額變小。判斷時看絕對值,不看數線的左右,就不容易混淆。

數線上 -1,096.2 用 ROUNDUP 得 -1,097、ROUNDDOWN 得 -1,096,正負兩邊都以離 0 的遠近判斷進位與捨去
負數的進位是遠離 0,折讓 -1,096.2 進位成 -1,097,數線上變小,折讓金額卻變大。

INT 與 TRUNC 取整數,負數的結果不同

INT 只有一個引數,傳回不大於這個數字的最大整數,所以 =INT(8.9) 得 8,=INT(-8.9) 得 -9。TRUNC 則是直接去掉小數,=TRUNC(8.9) 得 8,=TRUNC(-8.9) 得 -8。TRUNC 還有第二個引數可以指定位數,省略時當作 0。

數字是正數時,兩者的結果相同;數字是負數時,INT 會往更小的方向走,TRUNC 則往 0 靠近,例如 =TRUNC(-4.3) 得 -4,=INT(-4.3) 得 -5。

跟前面的 ROUNDDOWN 對照,=ROUNDDOWN(-8.9,0) 得 -8,方向與 TRUNC 相同、與 INT 相反。INT 還有一個常見用途,就是搭配減法取出小數部分,假設 A2 是 19.5,=A2-INT(A2) 得 0.5。這三個函數都不看尾數大小,也不是四捨五入。

5 個取整函數處理負數折讓的結果

拿 -1,096.2 與 -1,096.5 兩筆折讓,對照五個函數取整數元的結果:

數字ROUNDROUNDUPROUNDDOWNINTTRUNC
-1,096.2-1,096-1,097-1,096-1,097-1,096
-1,096.5-1,097-1,097-1,096-1,097-1,096

ROUND 的方向會隨尾數改變,尾數到 5 以上才離 0 更遠。ROUNDUP 與 INT 在這兩列都得到 -1,097,ROUNDDOWN 與 TRUNC 則都得到 -1,096。

數字換成正數,INT、TRUNC、ROUNDDOWN 取整數的結果完全一樣,分歧只出現在負數這一頭。報價表如果同時有正數金額和負數折讓,函數的選擇會直接影響折讓金額,用 -1,096.2 這類數字代入試算一次,就能看出各函數的方向。

進位到 50 元的倍數要換用倍數函數

很多報價想抹到 50 元,或是進位到 5 的倍數,位數引數做不到這件事,這時要換成倍數函數。MROUND、CEILING、FLOOR 三個函數都是把數字取整到某個倍數,各自的方向不同。

ROUND 的位數引數只能對準十、百、千位

ROUND 的位數只有 10 的次方可以選,個位、十位、百位、千位,中間沒有 25、50 這種倍數。報價想抹到 50 元,位數 -1 只能到十位,-2 又跳到百位,怎麼寫都對不到 50。

Microsoft 在 ROUND 的說明頁也提醒,要四捨五入到指定的倍數,例如最接近 0.5 的數字,請改用 MROUND函數。

MROUND 四捨五入到最近的倍數

語法是 MROUND(數字, 倍數)。=MROUND(E5,50) 把社群貼文模板的 2,932.5 變成 2,950,=MROUND(E4,50) 把海報設計的 3,901.5 變成 3,900,都是離它最近的 50 的倍數。再看一個單純的例子,=MROUND(10,3) 得 9,因為 9 是離 10 最近的 3 的倍數。

MROUND 有兩個限制。第一,數字與倍數的正負號必須相同,不同就傳回 #NUM! 錯誤,例如 =MROUND(5,-2)。

第二,倍數是小數時,剛好落在中間的值,進位方向不固定。Microsoft 記載的例子是 MROUND(6.05,0.1) 得 6.0,MROUND(7.05,0.1) 卻得 7.1。倍數用小數時要留意這個差異,報價常用的 50、100 屬於整數倍數,直接代入幾筆資料試算確認即可。

CEILING 固定往上,FLOOR 固定往下

CEILING 把數字進位到倍數,FLOOR 把數字捨去到倍數,兩個函數都需要數字與倍數兩個引數。接續前面的貼紙例子,=CEILING(130,25) 得 150,也就是 6 包的張數。報價表上,=CEILING(2932.5,50) 得 2,950,=FLOOR(3901.5,50) 得 3,900。

數字本身已經是倍數時,兩個函數都不會改動它。FLOOR 在數字為正、倍數為負時會傳回 #NUM!,例如 =FLOOR(2.5,-2)。

要控制負數的方向,可以改用 CEILING.MATH 與 FLOOR.MATH,這兩個函數多了第三個引數 mode,可以反轉負數的取整方向。不填 mode 時,=CEILING.MATH(-8.1,2) 會把負數往 0 的方向進位,得到 -8,=FLOOR.MATH(-8.1,2) 則得到 -10。多數報價表只處理正數金額,用不到這兩個,知道有這條路即可。

儲存格格式只改外觀,加總仍用完整小數

按下減少小數位數,畫面上的 1,096.5 變成 1,097,很多人就以為這已經是 Excel四捨五入。其實格式只是換了外觀,儲存格裡存的仍然是 1,096.5,後面所有公式用的也是這個完整的數字。

這個落差平常看不出來,一旦拿去加總,差 1 元的問題就會露出來。

小數位數按鈕與格式設定都不改動儲存值

調整顯示的小數位數有兩個入口,一個是「常用」索引標籤「數值」群組裡調整小數位數的按鈕,另一個是儲存格格式對話方塊裡的小數位數設定。這兩個入口都只改畫面上看到的樣子,公式計算仍然用完整的儲存值。

Microsoft 的說明有個很直接的例子。兩個儲存格各存 10.005,格式設成貨幣之後,每格都顯示 $10.01,但兩格相加得到的是 $20.01,不是 $20.02,因為 Excel 計算用的是 10.005。

所以格式管畫面,ROUND 才真的改掉儲存的數字。金額要拿給客戶看整數、後面還要拿去加總,就要用 ROUND,單靠格式只會讓畫面和計算結果對不起來。

只用格式取整時合計差 1 元的原因

把報價表的 E 欄只用格式顯示成整數,五列看到的是 1,097、1,479、3,902、2,933、4,012,用眼睛加起來是 13,423。

但 SUM 加的是儲存值,1,096.5 + 1,479 + 3,901.5 + 2,932.5 + 4,012 = 13,421.5,格式顯示成整數是 13,422。

這 1 元的落差不是 Excel 算錯。三個 .5 在各列都顯示成進位,五列的顯示值加起來比儲存值多出 1.5 元;合計的 13,421.5 只顯示成 13,422,只多出 0.5 元,所以眼睛加出來的 13,423 和合計差了 1 元。客戶拿到報價單逐列相加,就會發現合計對不起來。

報價表 E 欄只用格式顯示成整數,逐列相加是 13,423,SUM 加總儲存值 13,421.5 後顯示為 13,422
格式只改外觀,SUM 仍加總 1,096.5 這類完整小數,所以合計 13,422 比畫面上逐列相加的 13,423 少 1 元(示意圖)。

逐列 ROUND 與加總後再 ROUND 的取捨

有兩種做法可以處理。第一種是逐列先 ROUND 再加總,F2 輸入 =ROUND(E2,0) 往下複製到 F6,合計再加總這五格,得到 13,423。各列加起來剛好等於合計,適合要給客戶逐列對帳的報價單。

第二種是加總後再 ROUND,合計得到 13,422,最貼近未取整的總額 13,421.5,但各列加起來是 13,423,跟合計差 1 元。兩種寫法如下:

=SUM(F2:F6)
=ROUND(SUM(E2:E6),0)Code language: Excel (excel)

這兩種做法沒有誰對誰錯,要看報價單想要各列加起來等於合計,還是想讓合計貼近原始總額。規則選定之後,整份報價單都照同一種做法,才不會同一份文件裡兩種算法並存。

逐列 ROUND 再加總得 13,423,加總後再 ROUND 得 13,422,兩種取整做法的合計對照
逐列先 ROUND,各列加起來等於合計;加總後再 ROUND,合計最貼近原始總額 13,421.5。

平均分攤的尾差交給最後一列吸收

1,000 元的設計費平均分給 3 張海報,每張是 333.33……。逐列用 =ROUND(1000/3,0) 都得 333,三列加起來只有 999,少了 1 元。

常見的處理是前兩列照 ROUND,最後一列改成總額減掉前面各列。假設三張海報的金額放在 C2 到 C4,C4 就寫成:

=1000-SUM(C2:C3)Code language: Excel (excel)

C4 得 334,333 + 333 + 334 剛好是 1,000。

最後一列多負擔 1 元,換來合計正確。由哪一列吸收尾差可以自己決定,沒有固定的標準,事先定好、整份文件照同一套做法就行。

「以顯示值為準」會永久改寫儲存值

Excel 有個選項叫「以顯示值為準」,路徑是「檔案」→「選項」→「進階」,再到「計算此活頁簿時」區段勾選。開啟之後,儲存格裡的儲存值會直接被改成畫面上顯示的樣子,看起來能一次解決加總差 1 元的問題。

Microsoft 的說明指出,這個選項會永久改變儲存格中的儲存值,從完整精確度變成顯示的格式,之後即使切換回完整精確度,也還原不了原本的值。它影響的是整本活頁簿,不是單一欄位。

Excel 網頁版不支援這個設定,要改只能用桌面版 Excel 開啟。對報價表來說,只有要取整的欄位需要整理,用 ROUND 控制那幾欄就夠了,不需要為了湊出整數去開這個選項。

ROUND 結果不如預期的常見原因

ROUND 本身很單純,結果不如預期時,原因多半出在引數的內容、ROUND 放的位置,或是把顯示和數值混為一談。

儲存格內含文字時回傳 #VALUE!

number 或 num_digits 不是數字的時候,ROUND 會傳回 #VALUE! 錯誤。報價表常見的情境是單價欄混進了「待確認」三個字,E 欄的乘法先出錯,外面的 ROUND 也跟著出錯。

看到 #VALUE! 時,先檢查兩個引數所指的儲存格,數字和位數都要看,內容是不是文字,或是「約 1,200」這種帶說明的寫法。改法是把儲存格清成純數字,或是另外用公式取出數字。

先 ROUND 單價再乘數量會放大誤差

拿社群貼文模板這一列來看,折後單價是 690 × 0.85 = 586.5。如果先把單價 ROUND 成 587,再乘數量 5,就得到 2,935。乘完才 ROUND 的話,5 × 586.5 = 2,932.5,取整後是 2,933。兩種順序差 2 元:

=ROUND(690*0.85,0)*5
=ROUND(690*0.85*5,0)Code language: Excel (excel)

單價那 0.5 的進位被數量放大,乘以 5 就變成 2.5 的差距,所以 ROUND 放在算式的最後一步,比較不會偏離實際金額。例外是報價規則本來就以整數元報單價,這時先取整單價再乘數量,反而是合理的做法。

ROUND 不會補零,固定位數要靠儲存格格式

假設某格用 ROUND 取到小數第 2 位,結果恰好是 12.5,儲存格只會顯示 12.5,不會自動補成 12.50,因為 12.5 本來就等於 12.50。ROUND 管的是數值,不管顯示要幾位。

想固定顯示兩位小數,要再用前面提到的儲存格格式,把小數位數設成 2。順序是先用 ROUND 把數值整理好,再設格式讓畫面對齊,兩者可以並用,各管各的。

下次做報價表,先決定取整的規則,是要逐列對帳,還是讓合計貼近總額,再把規則寫成公式。規則定下來,Excel四捨五入的結果就不會因人而異,報價單上的合計也不會再出現說不清楚的 1 元。

常見問答

本區問答由 AI 依文章內容自動整理,僅供快速參考,正式內容仍以全文為準。

ROUND函數的位數寫負數代表什麼?

ROUND函數的位數寫負數,代表往小數點左邊整理,-1 是十位、-2 是百位、-3 是千位,報價想整理到百元就寫 -2。位數寫 0 會取到最接近的整數,寫正數則保留到指定的小數位數。

Excel無條件進位和無條件捨去要用哪個函數?

Excel無條件進位用 ROUNDUP、無條件捨去用 ROUNDDOWN,兩者的語法與位數規則都跟 ROUND 一樣,只是方向固定、不看尾數大小。算包數、箱數這類不能少的數量適合 ROUNDUP,報價抹零則用 ROUNDDOWN。

ROUNDUP 用在負數折讓時會變大還是變小?

ROUNDUP 用在負數時會把數字推離 0,數線上反而變小,例如 -1,096.2 進位成 -1,097,折讓的金額跟著變大。ROUNDDOWN 則把負數拉向 0,-1,096.2 會變成 -1,096,判斷時看絕對值就不容易混淆。

Excel 報價要整理到 50 元的倍數,該用哪個函數?

Excel 報價要整理到 50 元的倍數,要改用倍數函數,因為 ROUND 的位數只能對準十、百、千位。MROUND 取最接近的倍數,CEILING 固定往上、FLOOR 固定往下,2,932.5 用 MROUND 會得到 2,950。

Excel 報價表的合計為什麼會跟各列差 1 元?

Excel 報價表合計跟各列差 1 元,多半是各列只用儲存格格式顯示成整數,帶 .5 的列在畫面上都進位,SUM 加的卻是未取整的儲存值。逐列先用 ROUND 取整再加總,各列加起來就會等於合計。

資料來源
  1. ROUND 函數 — Microsoft
  2. MROUND 函數 — Microsoft
  3. 變更公式重算、反覆運算或精確度 — Microsoft