Excel MOD 函數是用來計算兩數相除後餘數的數學函數,語法為 =MOD(number, divisor),餘數符號與除數相同。 本文完整教學 MOD 的正負數運算邏輯、搭配 ROW 產生循環序列、IF 條件判斷、時間計算等 8 種實務公式,並附上 QUOTIENT、INT 函數比較表。
目錄
ToggleExcel MOD 函數是什麼?語法與運算邏輯
MOD 是 Modulo(模運算)的縮寫,功能是回傳兩數相除後的餘數。簡單來說,當你把 10 顆蘋果平均分給 3 個人,每人拿 3 顆,剩下 1 顆——這個「1」就是 MOD 的計算結果。

MOD 的語法格式如下:
=MOD(number, divisor)
| 參數 | 必填 | 說明 | 範例值 |
|---|---|---|---|
| number | 是 | 被除數,要計算餘數的數值 | 10、-10、7.5、A2 |
| divisor | 是 | 除數,用來除以 number 的數值 | 3、-3、2.5、B2 |
MOD 有一個關鍵特性:餘數的符號永遠與除數(divisor)相同。這與 C 語言的 % 運算子不同(C 語言的餘數符號與被除數相同),在跨平台應用時需要特別注意。
舉例來說,=MOD(-10, 3) 的結果是 2(不是 -1),因為 Excel 的計算邏輯是:-10 = (-4) × 3 + 2,餘數 2 與除數 3 同為正數。
如果你剛開始學習 Excel 函數,MOD 是非常好的入門函數——它的語法簡單,但搭配其他函數後能解決許多實務問題。
參數說明與常見錯誤代碼
使用 MOD 時最常遇到兩種錯誤:
| 錯誤代碼 | 發生原因 | 解決方式 |
|---|---|---|
#DIV/0! |
除數(divisor)為 0 | 檢查除數來源,確保不為 0 |
#VALUE! |
參數包含無法轉換為數值的文字 | 確認儲存格內容為數值格式 |
實務上,建議搭配 IFERROR 函數做防錯處理,避免一個錯誤值影響整張報表:
=IFERROR(MOD(A2, B2), "請檢查除數")
這個寫法會在 MOD 計算出錯時,顯示「請檢查除數」的提示文字,而不是一個紅色的錯誤代碼。在處理大量資料時,這種防錯習慣能幫你省下不少排查時間。
MOD 函數基本範例教學
以下每個範例都用「公式 → 運算過程 → 結果」三段式結構說明,你可以直接複製公式到 Excel 中練習。如果你想系統性地學習更多 Excel 公式,建議搭配本站的公式教學一起閱讀。
正整數與小數運算
範例 1:正整數
=MOD(10, 3)
運算過程:10 ÷ 3 = 3 餘 1(即 10 = 3 × 3 + 1) 結果:1
範例 2:小數運算
=MOD(7.5, 2)
運算過程:7.5 ÷ 2 = 3 餘 1.5(即 7.5 = 3 × 2 + 1.5) 結果:1.5
MOD 可以處理小數,這在計算時間或金額的零頭時非常實用。例如 =MOD(7.5, 2.5) 結果為 0,代表 7.5 可以被 2.5 整除。

負數運算(最多人搞錯的地方)
負數是 MOD 函數最容易踩坑的地方。記住核心規則:餘數符號與除數相同。
範例 3:被除數為負
=MOD(-10, 3)
運算過程:-10 = (-4) × 3 + 2(商取 -4 而非 -3,確保餘數為正) 結果:2(與除數 3 同為正數)
很多人直覺認為答案是 -1,但 Excel 的 MOD 會調整商數,讓餘數與除數同號。
範例 4:除數為負
=MOD(10, -3)
運算過程:10 = (-4) × (-3) + (-2) 結果:-2(與除數 -3 同為負數)
如果你需要的是「與被除數同號」的餘數(類似 C 語言的行為),可以用這個替代公式:=A2 - INT(A2/B2) * B2,不過大多數 Excel 應用場景下,MOD 的預設行為就夠用了。
儲存格引用與動態計算
實際工作中,你很少會直接在公式裡寫死數字,通常是引用儲存格:
範例 5:儲存格引用
=MOD(A2, B2)
假設 A2 = 25、B2 = 4,結果為 1(25 = 6 × 4 + 1)。
這個公式可以直接向下拖曳填滿,Excel 會自動調整儲存格參照(A3/B3、A4/B4……),一次計算整欄資料的餘數。
MOD 搭配 ROW 產生循環序列
MOD 搭配 ROW() 函數是 Excel 中產生循環序列的經典技巧。ROW() 會回傳目前儲存格的列號(第 1 列回傳 1、第 2 列回傳 2),而 MOD 負責讓數字在固定範圍內循環。
基本循環序列(1-2-3 重複)
=MOD(ROW()-1, 3)+1
這個公式的運算邏輯拆解如下:
| 列號 | ROW() | ROW()-1 | MOD(ROW()-1, 3) | +1 後結果 |
|---|---|---|---|---|
| 第 1 列 | 1 | 0 | 0 | 1 |
| 第 2 列 | 2 | 1 | 1 | 2 |
| 第 3 列 | 3 | 2 | 2 | 3 |
| 第 4 列 | 4 | 3 | 0 | 1 |
| 第 5 列 | 5 | 4 | 1 | 2 |
ROW()-1 的作用是讓第 1 列從 0 開始計算,這樣 MOD 的結果會從 0 開始循環(0、1、2、0、1、2……),加 1 後就變成 1、2、3 的循環。
調整起始列:如果你的資料從第 2 列開始(第 1 列是標題),把公式改成:
=MOD(ROW()-2, 3)+1
ROW()-2 讓第 2 列的計算值從 0 開始,序列依然從 1 開始循環。

排班表實務應用
把循環數字轉成文字標籤,就能做出自動排班表。搭配 CHOOSE 函數:
=CHOOSE(MOD(ROW()-2, 3)+1, "早班", "午班", "晚班")
CHOOSE 函數根據第一個參數的數字(1、2 或 3),回傳對應位置的文字。所以 MOD 產生 1 時顯示「早班」、2 顯示「午班」、3 顯示「晚班」,然後自動循環。
如果你的排班需求更複雜——例如需要考慮請假、換班、跨部門協調——純 Excel 公式會變得很難維護。這時候可以考慮用專案管理工具來處理。我們團隊實際用 monday.com 的排程看板管理輪班,設定自動化規則後,換班申請會自動通知相關人員並更新排程,比 Excel 手動調整效率高很多。
MOD 搭配 IF 進行條件判斷
MOD 與 IF 的組合是 Excel 中最實用的條件判斷技巧之一。核心邏輯很簡單:MOD 結果為 0 代表整除,不為 0 代表有餘數。
判斷奇偶數
=IF(MOD(A2, 2)=0, "偶數", "奇數")
任何整數除以 2,餘數不是 0 就是 1。餘數為 0 代表偶數,為 1 代表奇數。這個公式可以套用到整欄數字,快速標記奇偶。
應用場景:資料清洗時篩選偶數編號的訂單、或在報表中交替標記列的類別。
判斷是否整除(整除篩選)
=IF(MOD(A2, 5)=0, "5的倍數", "")
把除數改成任意數字,就能篩選出該數字的倍數。實務上常用在:
- 庫存管理:每箱 12 件,
=IF(MOD(A2, 12)=0, "整箱", "散裝")判斷是否能整箱出貨 - 分頁列印:每頁 20 筆,
=IF(MOD(ROW()-1, 20)=0, "換頁", "")標記分頁點
學會 MOD 搭配 IF 的邏輯後,建議進一步了解 Excel 公式教學中的其他條件函數,能讓你的資料處理能力更上一層樓。
多條件巢狀判斷
=IF(MOD(A2,3)=0,"第三組",IF(MOD(A2,3)=1,"第一組","第二組"))
這個公式將數字自動分配到三個組別:
- 餘數為 0 → 第三組(3、6、9、12……)
- 餘數為 1 → 第一組(1、4、7、10……)
- 餘數為 2 → 第二組(2、5、8、11……)
應用情境:將 30 位學員自動分成 3 組、將客戶名單平均分配給 3 位業務。

Excel Skills for Business|Macquarie University 認證
- 🏆 66 萬+ 學員選修——Coursera 平台上最熱門的 Excel 課程
- 📊 4 階段完整學程——公式、樞紐分析、圖表、儀表板全涵蓋
- 🎓 Macquarie University 認證——完成後可加入 LinkedIn 履歷
- 🌍 多語字幕支援——自學節奏、隨時隨地學習
✓ Coursera Plus 7 天免費試用 · ✓ 可隨時取消 · ✓ 完成後獲得正式證書
MOD 時間與日期計算
Excel 的時間系統有個重要特性:時間值本質上是小數。1 天 = 1,1 小時 = 1/24(約 0.04167),1 分鐘 = 1/1440。理解這一點,MOD 就能用來拆解時間。
計算工時餘數(超過整點的分鐘數)
假設 A2 儲存格的值是 2:45(2 小時 45 分鐘),你想取出超過整點的分鐘數:
=MOD(A2, 1/24)
這個公式用 1/24(1 小時)作為除數,取出不足 1 小時的部分。結果需要將儲存格格式設為 mm:ss,會顯示 45:00(45 分鐘)。
更實用的場景:計算超過 8 小時標準工時的加班時數。
=MOD(A2, 8/24)*24
假設 A2 = 10:30(10.5 小時),公式計算過程:
8/24= 0.3333(8 小時的時間值)MOD(10.5/24, 8/24)取出超過 8 小時的部分- 乘以 24 轉換回小時數
- 結果:2.5(加班 2.5 小時)
將結果儲存格格式設為「數值」即可顯示小時數。
週期性日期提醒
MOD 搭配日期計算,可以建立自動化的週期提醒:
每 7 天提醒一次:
=IF(MOD(TODAY()-$A$1, 7)=0, "本週需執行", "")
其中 $A$1 是專案開始日(使用絕對參照固定不動),TODAY() 會每天自動更新。當今天距離開始日的天數剛好是 7 的倍數時,顯示提醒。
每 30 天月度檢核:
=IF(MOD(TODAY()-$A$1, 30)=0, "月度檢核", "")
把除數從 7 改成 30,就變成每月提醒。你也可以改成 14(雙週)、90(季度)等任意天數。

不過要注意,Excel 的日期提醒是「被動」的——你必須打開檔案才能看到。如果你需要主動推播通知(例如 LINE 或 Email 提醒),monday.com 的自動化功能可以設定「每 N 天自動發送提醒給指定成員」,不需要任何人手動開檔案檢查。
條件格式與分組統計進階應用
MOD 在條件格式和資料統計中的應用,能讓你的 Excel 報表從「能用」升級到「好用」。
隔列標色(條件格式完整操作步驟)
用 MOD 搭配條件格式,可以讓表格自動隔列上色,大幅提升可讀性。
偶數列標色公式:
=MOD(ROW(), 2)=0
每三列標色一次:
=MOD(ROW(), 3)=0
完整操作步驟:
- 選取要套用格式的資料範圍(例如 A2:F100)
- 點選「常用」索引標籤
- 點選「條件格式」→「新增規則」
- 選擇「使用公式來決定要格式化哪些儲存格」
- 在公式欄位輸入
=MOD(ROW(), 2)=0 - 點選「格式」→「填滿」→ 選擇你想要的底色(建議淺灰或淺藍)
- 按「確定」完成設定
設定完成後,所有偶數列會自動上色。即使你新增或刪除列,顏色也會自動調整——這比手動一列一列塗色可靠得多。

搭配 SUMPRODUCT 分組統計
MOD 搭配 SUMPRODUCT 可以實現按固定間隔分組加總的功能:
=SUMPRODUCT((MOD(ROW(A2:A100)-ROW(A2), 3)=0)*B2:B100)
這個公式的邏輯:
ROW(A2:A100)-ROW(A2)產生從 0 開始的序號(0、1、2、3、4……)MOD(..., 3)=0篩選出序號為 3 的倍數的列(第 1 列、第 4 列、第 7 列……)- 乘以
B2:B100後加總,只統計被篩選到的列的數值
應用情境:季度資料分組加總。假設每 3 列代表一季(1月、2月、3月),你只想加總每季第一個月的數據,這個公式就能派上用場。
如果你經常需要做這類分組統計,也可以了解 Excel 四捨五入的 ROUND 系列函數,在處理統計結果的精度時會用到。
MOD 與相關函數比較(INT、QUOTIENT、ROUND)
MOD 負責取餘數,但在實務中你常常需要同時取得商數,或對結果做進一步處理。以下是 MOD 與相關函數的比較:
| 函數 | 用途 | 範例 | 結果 | 適用情境 |
|---|---|---|---|---|
| MOD | 取餘數 | =MOD(10, 3) |
1 | 分組、循環、整除判斷 |
| QUOTIENT | 取商數(整數部分) | =QUOTIENT(10, 3) |
3 | 需要知道「分了幾組」 |
| INT | 向下取整 | =INT(10/3) |
3 | 取商數的替代寫法 |
| ROUND | 四捨五入 | =ROUND(10/3, 2) |
3.33 | 需要精確到小數位 |

同時取商與餘數的搭配用法
最常見的搭配是 QUOTIENT + MOD,一次拆解出商和餘數:
商數:=QUOTIENT(10, 3) → 結果:3
餘數:=MOD(10, 3) → 結果:1
驗證:3 × 3 + 1 = 10 ✓
INT 與 QUOTIENT 的差異:對正數來說,=INT(A2/B2) 和 =QUOTIENT(A2, B2) 結果相同。但對負數,INT 是向下取整(往負無窮方向),QUOTIENT 是向零取整(截斷小數):
=INT(-10/3) → -4(向下取整)
=QUOTIENT(-10, 3) → -3(向零取整)
如果你搭配 MOD 使用,建議用 QUOTIENT,因為 QUOTIENT(A,B) × B + MOD(A,B) 恆等於 A。而 INT 搭配 MOD 在負數時可能不成立。
想了解更多數學函數的用法,可以參考 Excel 絕對值 ABS 函數和 Excel 開根號 SQRT 函數的教學。
結論
MOD 函數看似簡單,但搭配不同函數後能解決大量實務問題。以下是本文的核心重點:
- MOD 語法:
=MOD(number, divisor),回傳餘數,餘數符號與除數相同 - 負數運算:
=MOD(-10, 3)結果為 2(不是 -1),這是最常見的誤解 - 搭配 ROW 產生循環序列:
=MOD(ROW()-1, 3)+1自動產生 1、2、3 重複序列,適合排班表 - 搭配 IF 做條件判斷:
=IF(MOD(A2, 2)=0, "偶數", "奇數")判斷整除與分組 - 時間計算:
=MOD(A2, 1/24)取出超過整點的分鐘數,=MOD(TODAY()-開始日, 7)做週期提醒
下一步行動:打開 Excel,從 =MOD(10, 3) 開始練習,然後試著用 =MOD(ROW()-1, 3)+1 建立一個三班輪班表。當你的排班或任務追蹤需求超出 Excel 能處理的範圍時——例如需要自動通知、多人即時協作、或視覺化的甘特圖排程——可以試試 monday.com 的免費方案,不需要信用卡就能開始使用。
monday.com|250,000+ 團隊的專案管理首選
- 📋 看板、甘特圖、時間軸——同一專案 3 種視圖自由切換
- ⚡ 200+ 自動化範本——截止提醒、任務指派、進度同步全自動
- 👥 從 2 人到 200 人團隊都適用——10 分鐘上手
- 🔗 整合 Gmail、Slack、Zoom 等常用工具——資訊不用到處找
✓ 免費版永久使用 · ✓ Fortune 500 有 60% 在用 · ✓ 不需信用卡
Excel MOD 函數常見問題(FAQ)
MOD 能否處理小數?
可以。MOD 支援小數與整數的混合運算,結果也可能是小數。例如 =MOD(7.5, 2.5) 結果為 0(代表 7.5 可被 2.5 整除),=MOD(7.5, 2) 結果為 1.5。
MOD 與 C 語言 % 運算子有何不同?
最大差異在負數處理。Excel MOD 的餘數符號與除數相同,C 語言 % 的餘數符號與被除數相同。具體來說:
- Excel:
=MOD(-10, 3)→ 2 - C 語言:
-10 % 3→ -1
如果你需要在 Excel 中模擬 C 語言的行為,可以用:=A2 - INT(A2/B2) * B2,但要注意這個公式在負數時的結果與 MOD 不同。
Google Sheets 的 MOD 用法相同嗎?
完全相同。Google Sheets 的 MOD 函數語法為 =MOD(number, divisor),運算邏輯(包括負數處理)與 Excel 一致,公式可以直接複製貼上使用。
MOD 可否用於日期計算?
可以,而且非常實用。Excel 的日期本質是數字(從某個基準日起算的天數),所以可以直接用 MOD 計算。例如判斷某日期是星期幾:
=MOD(A2, 7)
搭配 WEEKDAY 函數可以做更精確的星期判斷。也可以用 =MOD(TODAY()-開始日, 30) 計算距離上次月度檢核過了幾天。
MOD 出現 #DIV/0! 怎麼辦?
#DIV/0! 代表除數為 0。用 IFERROR 包裹公式即可處理:
=IFERROR(MOD(A2, B2), 0)
這會在除數為 0 時回傳 0,而不是顯示錯誤。你也可以把 0 改成任何你想要的預設值或提示文字。
Excel 除法如何取整數商數?
如果你只需要除法的整數部分(不要餘數),有兩個選擇:
=QUOTIENT(A2, B2)— 直接取商數,向零取整=INT(A2/B2)— 向下取整(對負數結果不同)
搭配 MOD 就能完整拆解除法:商數用 QUOTIENT,餘數用 MOD。