【Excel 四捨五入】ROUND 公式完整教學|6大函數比較與實務案例

讀完這篇你能正確選用 ROUND、ROUNDUP、ROUNDDOWN、CEILING、FLOOR 等函數,解決 Excel 四捨五入的格式陷阱與累積誤差問題,並學會批次處理整欄數據的四種方法。
Excel 進階工具推薦
⭐ 編輯首選
超越 Excel 的團隊數據管理平台
  • 表格視圖——像 Excel 操作,支援多人即時協作
  • 自動化——取代手動複製貼上,規則觸發自動更新
  • 儀表板——即時圖表分析,不用手動做樞紐分析
  • 200+ 範本——進度追蹤、數據報表直接套用
9.5 / 10 本站評分
250,000+ 團隊信賴 · 無需信用卡
免費開始使用 免費方案永久使用,隨時升級
表格 + 看板 + 文件,一個平台搞定
免費試用
資料庫 × 公式 × 協作,靈活取代試算表
免費試用

Excel 四捨五入的核心公式是 =ROUND(數值, 位數),能將數字依指定小數位數進行標準四捨五入。 本文完整教學 ROUND 語法與 6 大相關函數(ROUNDUP、ROUNDDOWN、CEILING、FLOOR、MROUND)的差異比較,涵蓋格式設定 vs 公式的判斷流程、批次處理 4 種方法、浮點數誤差解法,以及 8 題精選 FAQ。

格式設定 vs 公式:先搞清楚你的需求

很多人第一次處理 Excel 四捨五入時,會直接去調整儲存格格式的小數位數——結果發現後續計算結果「怎麼對不起來」。這是因為 Excel 的「格式設定」和「公式四捨五入」是完全不同的兩件事。

格式設定(儲存格格式 → 數值 → 小數位數) 只改變螢幕上的顯示方式。儲存格裡實際存的數字完全沒變。舉例來說,A1 存了 1.234567,你把小數位數設為 2,畫面上看到 1.23,但 Excel 內部運算時仍然用 1.234567 參與計算。

公式四捨五入(ROUND 等函數) 則是真正改變儲存格的計算值。=ROUND(1.234567, 2) 的結果就是 1.23,後續所有引用這個儲存格的公式都會以 1.23 來運算。

用一個簡單的兩步驟判斷你該用哪種方式:

  1. 這個數字之後還會參與其他計算嗎? 如果會 → 用 ROUND 公式。
  2. 只是要列印報表或簡報好看? 如果是 → 用格式設定就夠了。

操作格式設定的步驟很簡單:選取儲存格 → 按 Ctrl + 1 開啟「儲存格格式」對話框 → 選「數值」類別 → 設定小數位數 → 確定。但請記住,這只是「化妝」,不是「整形」。

Excel 四捨五入設定判斷流程:數字是否參與後續計算?是→使用 ROUND 公式(改變實際值);否→使用格式設定(只改顯示)
▲ Excel 四捨五入設定判斷流程:數字是否參與後續計算?是→使用 ROUND 公式(改變實際值);否→使用格式設定(只改顯示)

ROUND 函數:Excel 四捨五入的核心公式

ROUND 是 Excel 中最常用的四捨五入函數,語法非常直覺:

=ROUND(數值, 位數)
  • 數值:你要四捨五入的數字,可以直接輸入數字或引用儲存格(如 A2)
  • 位數:決定四捨五入到哪一位,這是最容易搞混的參數

位數參數的完整對照表:

位數 意義 範例公式 結果
2 保留小數第 2 位 =ROUND(1.256, 2) 1.26
1 保留小數第 1 位 =ROUND(1.256, 1) 1.3
0 四捨五入至整數 =ROUND(1.6, 0) 2
-1 四捨五入至十位 =ROUND(1234, -1) 1230
-2 四捨五入至百位 =ROUND(1234, -2) 1200
-3 四捨五入至千位 =ROUND(1234, -3) 1000

負數位數是最常被忽略的用法。 當位數為 -1 時,Excel 會把個位數四捨五入;位數為 -2 時,把十位和個位一起四捨五入到百位。簡單記法:負幾,就是從小數點往左數幾位做四捨五入。

ROUND 位數參數對照:位數 2(小數第二位)、位數 1(小數第一位)、位數 0(整數)、位數 -1(十位)、位數 -2(百位)、位數 -3(千位)
▲ ROUND 位數參數對照:位數 2(小數第二位)、位數 1(小數第一位)、位數 0(整數)、位數 -1(十位)、位數 -2(百位)、位數 -3(千位)

對負數值的行為: ROUND 函數對負數的處理是「遠離零」的方向進位。例如 =ROUND(-1.5, 0) 結果是 -2(不是 -1)。這符合數學上的標準四捨五入規則。

常見錯誤提醒:

  • 把位數 0 和省略位數搞混——ROUND 的位數參數不能省略
  • 以為 =ROUND(A2, -1) 是「保留小數第 1 位」——負號代表往整數方向走

想深入了解 ROUND 函數的所有邊界情況,可以參考 Excel ROUND 函數教學

四捨五入到整數的三種方式比較

「Excel 四捨五入整數」是搜尋量很高的需求,但很多人不知道 Excel 其實有三種不同的取整方式,對負數的行為完全不同:

函數 行為 =函數(2.7) =函數(-2.3) =函數(-2.7)
ROUND(x, 0) 標準四捨五入 3 -2 -3
INT(x) 取不大於 x 的最大整數 2 -3 -3
TRUNC(x, 0) 直接截斷小數 2 -2 -2

關鍵差異在負數:

  • INT(-2.3) = -3:因為 -3 是「不大於 -2.3 的最大整數」,INT 永遠往負無窮方向取
  • TRUNC(-2.3) = -2:TRUNC 單純砍掉小數,不管正負
  • ROUND(-2.3, 0) = -2:標準四捨五入,0.3 不到 0.5 所以捨去

實務建議: 如果你處理的是財務金額(都是正數),三者差異不大。但如果涉及損益計算(有正有負),建議統一用 =ROUND(A2, 0) 做批次取整,避免 INT 在負數時的「意外」行為。

進位與捨去函數全比較:ROUNDUP、ROUNDDOWN、CEILING、FLOOR

除了標準四捨五入,Excel 還提供一系列「強制進位」和「強制捨去」的函數。以下是完整比較:

函數 行為 範例公式 結果 適用情境
ROUNDUP 無條件進位 =ROUNDUP(1.231, 2) 1.24 報價、保守預算估算
ROUNDDOWN 無條件捨去 =ROUNDDOWN(1.239, 2) 1.23 成本下限估算
TRUNC 截斷小數位(不做四捨五入) =TRUNC(1.239, 2) 1.23 單純去除多餘小數
CEILING.MATH 進位至指定倍數 =CEILING.MATH(17, 5) 20 庫存批量、包裝數量
FLOOR.MATH 捨去至指定倍數 =FLOOR.MATH(17, 5) 15 折扣門檻、價格級距
MROUND 四捨五入至指定倍數 =MROUND(17, 5) 15 工時排程、批量計算
ODD / EVEN 進位至最近奇/偶數 =ODD(4) / =EVEN(5) 5 / 6 特殊包裝規格、配對需求
7 大進位捨去函數:ROUNDUP(無條件進位)、ROUNDDOWN(無條件捨去)、TRUNC(截斷小數)、CEILING.MATH(進位至倍數)、FLOOR.MATH(捨去至倍數)、MROUND(四捨五入至倍數)、ODD/EVEN(進位至奇偶數)
▲ 7 大進位捨去函數:ROUNDUP(無條件進位)、ROUNDDOWN(無條件捨去)、TRUNC(截斷小數)、CEILING.MATH(進位至倍數)、FLOOR.MATH(捨去至倍數)、MROUND(四捨五入至倍數)、ODD/EVEN(進位至奇偶數)

ROUNDDOWN vs TRUNC 的差異: 對正數來說,ROUNDDOWN 和 TRUNC 的結果完全一樣。差異出現在負數:=ROUNDDOWN(-1.5, 0) = -1(往零的方向捨去),=TRUNC(-1.5, 0) = -1(截斷小數)。兩者對負數的結果相同,但概念不同——ROUNDDOWN 是「無條件捨去」,TRUNC 是「截斷」。實務上處理正數資料時可以互換使用。

ROUNDUP vs CEILING.MATH 的差異: ROUNDUP 的第二個參數是「小數位數」(跟 ROUND 一樣),而 CEILING.MATH 的第二個參數是「倍數」。例如你想讓數字進位到最近的 5 的倍數,用 CEILING.MATH;如果只是要無條件進位到小數第二位,用 ROUNDUP。

FLOOR.MATH 的實務應用: 電商常見的「滿 500 折 50」活動,要計算客戶可享幾次折扣:=FLOOR.MATH(消費金額, 500) / 500,消費 1,380 元 → FLOOR.MATH 結果 1,000 → 可享 2 次折扣。

ODD 和 EVEN 函數 比較少用,但在特定場景很方便。ODD(x) 會把數字進位到最近的奇數,EVEN(x) 進位到最近的偶數。注意它們都是「進位」(遠離零的方向),不是四捨五入。

更多 ROUNDUP 的用法可以參考 Excel ROUNDUP 函數教學,無條件捨去的完整說明則在 Excel 無條件捨去教學

MROUND 實務案例:工時排程四捨五入至 0.5 小時

專案管理中,工時記錄常需要統一到 0.5 小時為單位,方便排班和計費。MROUND 就是為這種場景設計的。

情境: 專案經理收到團隊成員的實際工時記錄,需要統一四捨五入至 0.5 小時。

實際工時 公式 結果
3.27 =MROUND(3.27, 0.5) 3.5
1.12 =MROUND(1.12, 0.5) 1.0
2.76 =MROUND(2.76, 0.5) 3.0

批次套用步驟: 1. 在 B2 輸入 =MROUND(A2, 0.5) 2. 選取 B2,將滑鼠移到儲存格右下角,出現黑色十字(填充柄) 3. 雙擊填充柄或向下拖曳,公式自動套用到整欄

進階考量: 如果你的專案是按工時計費,為了避免低估成本,可以改用 =CEILING.MATH(A2, 0.5),確保工時永遠往上進位。3.27 小時會變成 3.5,而不是被 MROUND 四捨五入後可能變成 3.0 的風險。

(如果團隊需要自動追蹤工時並即時彙總,可以搭配 monday.com 的時間追蹤功能,省去手動四捨五入的步驟。)

批次四捨五入:快速處理整欄或整表數據

實務上你很少只處理一個儲存格,通常是一整欄甚至整張表的數據都要四捨五入。以下四種方法各有適用場景:

方法一:填充柄拖曳(最基本)

  1. 在新欄位的第一格輸入 ROUND 公式(如 =ROUND(A2, 2)
  2. 選取該儲存格,將滑鼠移到右下角出現黑色十字
  3. 雙擊或向下拖曳,公式自動填充到資料範圍底部

適合:資料量在幾百行以內,一次性處理。

方法二:動態陣列公式(Excel 365 / Excel 2021 以上)

=ROUND(A2:A100, 2)

只要在一個儲存格輸入這個公式,結果會自動「溢出」填滿整個範圍。這是最優雅的做法,但需要較新版本的 Excel 支援動態陣列。

適合:使用 Excel 365 或 Excel 2021 以上版本的用戶。

方法三:貼上為值(去除公式,保留結果)

  1. 選取已套用 ROUND 公式的整欄
  2. Ctrl + C 複製
  3. 在原位或新位置按 Ctrl + Alt + V,選擇「值」→ 確定

這個步驟會把公式結果轉為純數字,適合你要把處理後的資料交給別人、或不想保留公式的情況。

適合:最終交付的報表、需要減少檔案大小。

方法四:VBA 巨集批次處理(大量資料或重複作業)

如果你每個月都要處理同樣的四捨五入作業,寫一段簡單的 VBA 巨集可以省下大量時間:

Sub BatchRound()
    Dim cell As Range
    For Each cell In Selection
        If IsNumeric(cell.Value) Then
            cell.Value = WorksheetFunction.Round(cell.Value, 2)
        End If
    Next cell
End Sub

使用方式:選取要處理的範圍 → 按 Alt + F11 開啟 VBA 編輯器 → 插入模組 → 貼上程式碼 → 執行。注意這段程式碼會直接覆蓋原始值,建議先備份。

批次四捨五入四種方法流程:填充柄拖曳→動態陣列公式→貼上為值→VBA 巨集
▲ 批次四捨五入四種方法流程:填充柄拖曳→動態陣列公式→貼上為值→VBA 巨集
⭐ 線上課程平台 ★★★★½ 4.6

Udemy 線上學習

  • 📚 20 萬+ 堂課程:Excel、商業、技術、設計應有盡有
  • 💰 課程常有限時優惠,原價 NT$2,690 課程低至 NT$370
  • 📱 一次購買終身觀看,可下載到手機離線學習
  • 🌐 中英文課程都有,講師多為業界專家

30 天退款保證 · 終身觀看權 · 無需訂閱,買斷制

顯示值 vs 實際值:四捨五入誤差的根源與解法

這是 Excel 四捨五入中最容易踩的坑,也是「excel 自動進位」這個搜尋背後的真正困惑——「為什麼 Excel 好像自動幫我進位了,但計算結果又不對?」

格式設定造成的視覺陷阱

假設 A1 到 A3 分別存了 1.005、1.005、1.005,你把格式設定為顯示 2 位小數,畫面上看到的是:

儲存格 顯示值 實際值
A1 1.01 1.005
A2 1.01 1.005
A3 1.01 1.005
SUM 顯示 3.02 實際 3.015

你以為 1.01 × 3 = 3.03,但 Excel 顯示的加總卻是 3.02(因為 3.015 格式化後顯示 3.02)。這就是「Excel 四捨五入加總誤差」的典型案例。

浮點數精度問題

更隱蔽的問題來自電腦的二進位浮點數運算。試試在 Excel 輸入 =0.1+0.2,結果看起來是 0.3,但如果你把小數位數設到 15 位,會看到 0.300000000000000(某些情況下是 0.30000000000000004)。

這不是 Excel 的 bug,而是所有電腦處理十進位小數時的先天限制。當這種微小誤差在大量資料中累積,就可能造成報表數字「差一分錢」的問題。

三種解決方案

方案一:用 ROUND 公式處理所有參與運算的數值(推薦)

在數值進入計算之前就用 ROUND 處理。例如:

  • 原本:=A1+A2+A3(用實際值計算,可能有誤差)
  • 改為:=ROUND(A1,2)+ROUND(A2,2)+ROUND(A3,2)(每個值先四捨五入再加總)

或者更好的做法是在源頭就用 ROUND 公式產生數值,而不是在加總時才處理。

方案二:啟用「以顯示精確度為準」選項

路徑:檔案 → 選項 → 進階 → 勾選「以顯示精確度為準」。啟用後,Excel 會把所有儲存格的值永久改為顯示值。

⚠️ 風險警告: 這個選項會不可逆地改變整個活頁簿的所有數值精度。一旦儲存,原始精確值就永遠消失了。只建議在你非常確定的情況下使用。

方案三:貼上為值後再運算

先用 ROUND 公式處理完,再「貼上為值」取代原始資料,確保後續所有運算都基於已四捨五入的數字。

四捨五入誤差解決方案選擇:需要保留原始資料?是→用 ROUND 公式在新欄位處理;否→需要批次處理整個活頁簿?是→啟用顯示精確度選項(注意風險);否→貼上為值取代原始資料
▲ 四捨五入誤差解決方案選擇:需要保留原始資料?是→用 ROUND 公式在新欄位處理;否→需要批次處理整個活頁簿?是→啟用顯示精確度選項(注意風險);否→貼上為值取代原始資料

更多 Excel 數字處理的技巧,包括格式設定、特殊數值問題的排查方法,可以參考我們的數字處理全攻略。

進階應用:有效位數四捨五入

一般的四捨五入是控制「小數位數」——小數點後保留幾位。但在科學計算、工程報告和統計分析中,常需要控制的是「有效位數」——整個數字中有意義的位數。

有效位數 vs 小數位數的差異:

原始數字 保留 3 位小數 保留 3 位有效位數
1234.567 1234.567 1230
0.012345 0.012 0.0123
98765 98765 98800

注意 0.012345 保留 3 位有效位數是 0.0123(前面的零不算有效位數),而保留 3 位小數是 0.012(直接從小數點後數 3 位)。

Excel 有效位數四捨五入公式:

=ROUND(x, n-1-INT(LOG10(ABS(x))))

拆解這個公式:

  • ABS(x):取絕對值,避免負數影響 LOG 計算
  • LOG10(ABS(x)):算出數字的「量級」(幾位數)
  • INT(...):取整數部分
  • n-1-INT(...):算出 ROUND 需要的位數參數

範例:

  • 0.012345 取 3 位有效位數:=ROUND(0.012345, 3-1-INT(LOG10(ABS(0.012345)))) = =ROUND(0.012345, 4) = 0.0123
  • 12345 取 3 位有效位數:=ROUND(12345, 3-1-INT(LOG10(ABS(12345)))) = =ROUND(12345, -2) = 12300

這個公式在撰寫科學報告、品質管理(QC)數據處理時特別實用。如果你經常需要處理這類數據,建議把公式存成自訂函數或範本,避免每次重新推導。

想了解更多 Excel 函數的商務應用場景,可以參考超實用 Excel 商務實例函數字典

⭐ 66 萬+ 學員 · 4.9★ 評價 ⭐ 4.9 / 5

Excel Skills for Business|Macquarie University 認證

🎁 Coursera Plus 7 天免費試用——從基礎到進階完整 4 階段,6.3 萬+ 則評價、4.9★ 的 Coursera 最熱門 Excel 課程
  • 🏆 66 萬+ 學員選修——Coursera 平台上最熱門的 Excel 課程
  • 📊 4 階段完整學程——公式、樞紐分析、圖表、儀表板全涵蓋
  • 🎓 Macquarie University 認證——完成後可加入 LinkedIn 履歷
  • 🌍 多語字幕支援——自學節奏、隨時隨地學習

Coursera Plus 7 天免費試用 · 可隨時取消 · 完成後獲得正式證書

結論

選錯函數或搞混格式設定與公式,就會造成報表誤差。以下是本文重點回顧:

  • 格式設定只改顯示,ROUND 公式才改實際值——後續要計算的數字,一定要用公式處理
  • ROUND 的位數參數:正數 = 小數位數,0 = 整數,負數 = 十位/百位/千位
  • 取整數用 ROUND(x,0),避免用 INT(對負數行為不同);TRUNC 則是單純截斷小數,不做四捨五入
  • 無條件進位用 ROUNDUP,無條件捨去用 ROUNDDOWN;需要對齊倍數時用 CEILING.MATH 或 FLOOR.MATH
  • 浮點數誤差的解法:在源頭用 ROUND 處理,或貼上為值後再運算

下一步行動:打開你手邊的 Excel 報表,檢查是否有「只用格式設定卻沒用公式」的數值欄位。如果有,現在就加上 =ROUND() 公式,避免下次加總時出現「差一分錢」的尷尬。

⭐ Fortune 500 有 60% 是客戶 ⭐ 4.8 / 5

monday.com|250,000+ 團隊的專案管理首選

🎁 免費版永久使用 + 14 天 Pro 試用——內建 200+ 專案範本,看板、甘特圖、時間軸 3 分鐘完成設定
  • 📋 看板、甘特圖、時間軸——同一專案 3 種視圖自由切換
  • ⚡ 200+ 自動化範本——截止提醒、任務指派、進度同步全自動
  • 👥 從 2 人到 200 人團隊都適用——10 分鐘上手
  • 🔗 整合 Gmail、Slack、Zoom 等常用工具——資訊不用到處找

免費版永久使用 · Fortune 500 有 60% 在用 · 不需信用卡

Excel 四捨五入常見問題 FAQ

Excel 四捨五入公式怎麼寫?

Excel 四捨五入公式是 =ROUND(數值, 位數)。數值可以是數字或儲存格參照(如 A2),位數決定保留幾位小數。例如 =ROUND(1.256, 2) 結果為 1.26,=ROUND(1234, -2) 結果為 1200。位數為正數保留小數,為負數則對整數位四捨五入。

如何將 Excel 數字四捨五入到整數?

使用 =ROUND(A2, 0) 即可將數字四捨五入到整數。例如 =ROUND(3.6, 0) 結果為 4,=ROUND(3.4, 0) 結果為 3。也可以用 INT 或 TRUNC 取整,但注意 INT 對負數會往下取(INT(-2.3)=-3),ROUND 和 TRUNC 則捨去小數(結果為 -2)。

Excel 四捨五入設定在哪裡?格式設定和公式有什麼差別?

格式設定路徑:選取儲存格 → Ctrl+1 → 數值 → 設定小數位數。但格式設定只改畫面顯示,不改實際值。如果數字要參與後續計算,必須用 =ROUND() 公式才能真正改變儲存格的值,避免加總時出現累積誤差。

為什麼 Excel 顯示的數字和計算結果不一樣?

這通常是因為你只用了格式設定(調整小數位數),沒有用 ROUND 公式。格式設定讓畫面顯示 1.23,但儲存格實際值仍是 1.234567,計算時用完整值參與運算。另一個原因是浮點數精度問題(如 0.1+0.2 在電腦內部不完全等於 0.3),可用 ROUND 修正。

ROUNDUP 和 ROUNDDOWN 怎麼選?

ROUNDUP 是無條件進位(不管後面的數字多小都往上進),適合報價、預算上限估算。ROUNDDOWN 是無條件捨去(不管後面的數字多大都直接砍掉),適合成本下限估算。例如 =ROUNDUP(1.231, 2) = 1.24,=ROUNDDOWN(1.239, 2) = 1.23。

Excel 4 捨 5 入和 ROUND 函數是一樣的嗎?

是的,ROUND 函數就是 Excel 中執行標準四捨五入的函數。「4 捨 5 入」是口語說法,對應的 Excel 公式就是 =ROUND(數值, 位數)。Excel 沒有另外一個叫「四捨五入」的函數,所有標準四捨五入操作都透過 ROUND 完成。

如何對負數做四捨五入?INT 和 ROUND 有什麼不同?

ROUND 對負數的四捨五入是「遠離零」的方向:=ROUND(-2.5, 0) = -3。INT 則是取「不大於原數的最大整數」:=INT(-2.3) = -3(往負無窮方向)。如果你要單純截斷小數不做四捨五入,用 TRUNC:=TRUNC(-2.3) = -2。處理含負數的財務資料時,建議統一用 ROUND 避免混淆。

MROUND 和 CEILING 有什麼差別?

MROUND 是「四捨五入」到指定倍數,CEILING.MATH 是「無條件進位」到指定倍數。例如 =MROUND(12, 5) = 10(四捨五入到最近的 5 的倍數),=CEILING.MATH(12, 5) = 15(強制進位到下一個 5 的倍數)。需要保守估算(不低估)時用 CEILING.MATH,一般對齊用 MROUND。

monday.com
用 monday.com 取代手動 Excel 追蹤
表格視圖 · 自動化公式 · 即時協作 · 永久免費