---
title: "Excel 排程為什麼一定會失控"
description: "用 Excel 排生產不是「做得不夠用心」，而是結構上一定會失控。這篇拆解四個 Excel 撐不住排程的根本原因——一改全亂、知識鎖在一個人腦裡、算不動組合、跟不上變動，並給一份「Excel 已到極限」的徵兆清單。"
published: 2026-08-15
author: "Yeee"
tags: ["Excel 排程", "生產排程", "排程入門"]
canonical: https://www.interagent.io/blog/why-excel-scheduling-breaks-down
---

# Excel 排程為什麼一定會失控

> 用 Excel 排生產不是「做得不夠用心」，而是結構上一定會失控。這篇拆解四個 Excel 撐不住排程的根本原因——一改全亂、知識鎖在一個人腦裡、算不動組合、跟不上變動，並給一份「Excel 已到極限」的徵兆清單。

上一篇談到，排程的價值在於「狀況變了能多快重排」。而今天多數工廠做這件事的工具，是 Excel。

先說清楚：Excel 是好工具。問題不在 Excel 爛，在於它被拿去做一件它結構上做不到的事——**用一個記錄工具，做決策工作**。

## Excel 是記錄工具，不是決策工具

Excel 能忠實地**存下**一張排程表：哪張單、哪台機、幾號做。但它不會**算**排程——它不知道你的機台產能、不知道換線要多久、不知道料到了沒。它只顯示你手填進去的那個版本，不會告訴你那個版本好不好。

排程需要的是「算」，Excel 給的是「存」。這個落差，就是後面所有失控的根源。

## 失控原因一：一改全亂

排程最常見的動作是「把一張單往後挪」。在現實裡，這一挪會連帶影響後面所有共用機台的工單、可能讓某台機超載、可能讓某張交期變得來不及。

Excel 沒有「限制」的概念。你把儲存格往後拉，它不會跳出任何警告。連帶影響全靠人腦重算——而人腦一次只能追幾張單，追不動十幾張。於是每次重排，都是一次容易出錯的手動重算。

「容易出錯」有實證可以對照。Panko 整理了 1995 年後採用較嚴謹稽核方法的 7 項研究，這些研究總共檢查 113 份營運中的試算表，其中 **88% 含有至少一個錯誤**（<a href="http://panko.shidler.hawaii.edu/SSR/Mypapers/whatknow.htm" target="_blank" rel="noopener noreferrer">What We Know About Spreadsheet Errors</a>）。這個估計有爭議：Powell 等人（2007）檢查 50 份營運試算表、270,722 條公式，算出的儲存格錯誤率是 1.79%，把「做法不良」與「算錯」分開之後降到 0.87%，遠低於 Panko 的估計。兩邊量的不是同一件事——一個問「這份表有沒有錯」，一個問「每個儲存格出錯的機率」。但兩邊指向同一個結論：營運中的試算表帶著錯誤在跑，是常態而不是意外。

## 失控原因二：知識鎖在一個人腦裡

Excel 表上看得到「結果」，看不到「為什麼」。哪些單適合併著做、哪台機換線快、哪個客戶不能得罪——這些排程邏輯在老師傅腦袋裡，Excel 只是他輸出的一張快照。

結果是：他請假，排程就停擺；他離職，知識就跟著走。工廠的排程能力，等於押在一個人身上。

## 失控原因三：算不動組合

排程本質是組合問題。就算整間工廠只有 20 張工單要決定先後，可能的排法就有<InlinePopover label="約 10 的 18 次方種" ariaLabel="這個數字怎麼來的：10 的 18 次方種排法">第一張單有 20 種選擇，第二張剩 19 種，一路乘到 1。這串連乘寫成 20!，唸「20 階乘」，算出來約 10 的 18 次方。</InlinePopover>——用一台每秒能試一百萬種的電腦跑，要跑<InlinePopover label="七萬年" ariaLabel="這個數字怎麼來的：七萬年">拿 10 的 18 次方種排法除以「每秒試一百萬種」，得 77,147 年。金字塔蓋好到現在以 4,500 年計，只走完其中 5.8%。</InlinePopover>。從蓋金字塔那年開機，跑到今天連 6% 都跑不完。

這時你可能會想：現在的電腦快多了。沒錯，換一台夠快的機器，這 20 張單確實試得完。但問題從來不是這個數字有多大，是它**長得有多快**。

20 張單多接一張，排法變成 <InlinePopover label="21 倍" ariaLabel="這個數字怎麼來的：21 倍">多接一張單，等於把它插進每一種舊排法的每個位置——20 張單有 21 個位置可插，所以排法變 21 倍。後面的倍數是同一個算法，兩個階乘相除：多兩張 462 倍、多五張 640 萬倍、多十張約 10 的 14 次方倍（30! ÷ 20!）。</InlinePopover>。再多一張，462 倍。多五張，約 640 萬倍——就算電腦每兩年就快一倍，也要 <InlinePopover label="45 年" ariaLabel="這個數字怎麼來的：45 年">要快到 640 萬倍，得翻倍 22.6 次；每次兩年，就是 45 年。「每兩年快一倍」是給電腦的優待——近年硬體變快的速度已經放緩，放緩只會讓它追得更慢。</InlinePopover>，才追得上你多接的那五張單。

這跟密碼設得越長越難破解是同一種成長：每多一位，要試的次數就乘上幾十倍，電腦再快都補不回來。工單多接一張，數字是同樣的長法。

所以關鍵不在電腦夠不夠快，在它快不過訂單長大的速度。從 20 張加到 30 張，排法多了約 10 的 14 次方倍；而全世界最快的超級電腦，也只比那台每秒一百萬種的機器快約 <InlinePopover label="10 的 12 次方倍" ariaLabel="這個數字怎麼來的：10 的 12 次方倍">最快的超級電腦每秒約 10 的 18 次方次運算，拿它比每秒一百萬次，得 10 的 12 次方倍。而且判斷一種排法好不好，實際上不只花一次運算——這個比法已經偏袒電腦，真實差距只會更大。</InlinePopover>。**你多接十張單多出來的排法，比人類目前造得出的最快電腦能多試的還多一百倍。**

而這還只是「排順序」。真實工廠還要決定每道工序上哪一台機，數字會再往上翻好幾個數量級。填入你自己工廠的數字看看——特別看最後一行：你們業務多接一張單，排法會變成幾倍。

作為對照：SARA 上有客戶一次排程要處理超過 500 張工單、每張 5 到 11 道工序、300 多台機台。要從這個規模裡挑出換線最少、又守得住交期的那一種，靠手填試不出來。

Excel 不會幫你**找**好的組合，它只忠實顯示你**填**的那一個。於是大家排的不是「最好的排程」，是「想得到、填得完的排程」——兩者的差距，就是被白白吃掉的產能。

## 失控原因四：跟不上變動頻率

現實每天都在變，但人工在 Excel 上重排一次往往要半天。頻率對不上的結果是：大家乾脆不重排，將就用一張已經過期的表，誤差一天天累積，直到交期前一週才爆出來。

變動不只讓表過期，它同時把人的負擔往上推。Fransoo 與 Wiers（2006）研究生產計畫人員的行為，發現生產計畫的變動越多，計畫人員採取的動作種類就越雜——認知負荷是跟著變動量一起上升的（Fransoo & Wiers, 2006, *Journal of Operations Management* 24(6), 813–821）。

排程的價值在「重排得快」，而 Excel 的重排成本，高到讓人不想重排。

## 一份徵兆清單

如果你的工廠出現這些現象，代表 Excel 已經到極限了：

- 排程要等某一個特定的人，他不在就排不出來
- 一張急單進來，往往演變成全廠加班
- 交期常常是前一週才發現「來不及」
- 稼動率要等月底結算才知道掉了

## 小結

Excel 排程的失控不是用得不夠認真，是拿記錄工具做決策工作——一改全亂、知識鎖在一人、算不動組合、跟不上變動，這四件事再努力都解不掉。

那 ERP 呢？很多工廠 Excel 撐不住的下一步，是想靠 ERP 接手排程。[下一篇](/blog/dispatch-list-is-not-scheduling)就談：為什麼 ERP 給你的派工單，其實也不是排程。

## 常見問題

### 我們用 Excel 排程也用了很多年，沒出大問題啊？

沒出大問題，常常是因為「將就用過期的表 + 現場用加班和在製品庫存把誤差吸收掉」。代價沒有消失，只是從交期延遲，轉移成加班費和半成品堆積，比較難被看見。

### 把 Excel 做得更複雜（加公式、巨集）能解決嗎？

能延後失控，不能避免。巨集仍然不懂「限制衝突」與「重排」，而且會讓排程知識更深地鎖在寫巨集的那個人身上。

---
原始 HTML 頁面：https://www.interagent.io/blog/why-excel-scheduling-breaks-down