
上一篇談到,排程的價值在於「狀況變了能多快重排」。今天多數工廠做這件事的工具是 Excel。
先說清楚:Excel 是好工具。問題不在 Excel 爛。它被拿去做一件結構上做不到的事:用一個記錄工具,做決策工作。
Excel 是記錄工具,不是決策工具
Excel 會存下排程表。哪張單、哪台機、幾號做,它都記得住。但它不會算。它不知道機台產能,不知道換線(換模、setup)同一台機從做 A 產品切換到做 B 產品的準備工作:換模具、換料、調機、首件確認。換線期間機台不產出,所以排程會盡量把同類工單排在一起。要多久,不知道料到了沒。你填什麼,它就顯示什麼。那個版本好不好,它不會說。
存跟算的落差,就是後面所有失控的根源。
失控原因一:一改全亂
排程最常見的動作是「把一張單往後挪」。這一挪會連帶影響後面所有共用機台的工單。可能讓某台機超載。可能讓某張交期來不及。
Excel 沒有「限制」的概念。你把儲存格往後拉,它不會跳出任何警告。連帶影響全靠人腦重算。人腦一次只能追幾張單,追不動十幾張。於是每次重排,都是一次容易出錯的手動重算。
「容易出錯」有實證可以對照。Panko 整理了 1995 年後採用較嚴謹稽核方法的 7 項研究。這些研究總共檢查 113 份營運中的試算表。其中 88% 含有至少一個錯誤(What We Know About Spreadsheet Errors)。這個估計有爭議。Powell 等人(2009)檢查 50 份營運試算表、270,722 條公式。算出的儲存格錯誤率是 1.79%。把「做法不良」與「算錯」分開之後降到 0.87%。這遠低於 Panko 的估計(Journal of Organizational and End User Computing 21(3), 24–36)。兩邊量的不是同一件事。一個問「這份表有沒有錯」,一個問「每個儲存格出錯的機率」。但兩邊指向同一個結論:營運中的試算表帶著錯誤在跑,是常態而不是意外。
失控原因二:知識鎖在一個人腦裡
Excel 表上看得到「結果」,看不到「為什麼」。哪些單適合併著做、哪台機換線快、哪個客戶不能得罪。這些排程邏輯在老師傅腦袋裡。Excel 只是他輸出的一張快照。
他請假,排程就停擺。他離職,知識就跟著走。工廠的排程能力,等於押在一個人身上。
失控原因三:算不動組合
排程本質是組合問題。就算整間工廠只有 20 張工單要決定先後,可能的排法就有第一張單有 20 種選擇。第二張剩 19 種,一路乘到 1。這串連乘寫成 20!,唸「20 階乘」,算出來約 10 的 18 次方。。用一台每秒能試一百萬種的電腦跑,要跑10 的 18 次方種排法除以每秒一百萬種。得 77,147 年。金字塔蓋好到現在以 4,500 年計,只走完其中 5.8%。。從蓋金字塔那年開機,跑到今天連 6% 都跑不完。
你可能會想:現在的電腦快多了。沒錯,換一台夠快的機器,這 20 張單確實試得完。但問題從來不是這個數字有多大,是它長得有多快。
20 張單多接一張,排法變成 多接一張單,等於把它插進每一種舊排法的每個位置。20 張單有 21 個位置可插,所以排法變 21 倍。後面的倍數是同一個算法,兩個階乘相除。多兩張 462 倍、多五張 640 萬倍、多十張約 10 的 14 次方倍(30! ÷ 20!)。。再多一張,462 倍。多五張,約 640 萬倍。就算電腦每兩年就快一倍,也要 要快到 640 萬倍,得翻倍 22.6 次。每次兩年,就是 45 年。「每兩年快一倍」是給電腦的優待。近年硬體變快的速度已經放緩。放緩只會讓它追得更慢。,才追得上你多接的那五張單。
這跟密碼設得越長越難破解是同一種成長。每多一位,要試的次數就乘上幾十倍。電腦再快都補不回來。
從 20 張加到 30 張,排法多了約 10 的 14 次方倍。全世界最快的超級電腦,也只比那台每秒一百萬種的機器快約 最快的超級電腦每秒約 10 的 18 次方次運算(TOP500 2026 年 6 月榜首實測 2.198 × 10 的 18 次方次,書目見文末),拿它比每秒一百萬次,得 10 的 12 次方倍。而且判斷一種排法好不好,不只花一次運算。這個比法已經偏袒電腦,真實差距只會更大。。你多接十張單多出來的排法,比人類目前造得出的最快電腦能多試的還多一百倍。
而這還只是「排順序」。真實工廠還要決定每道工序一張工單從投料到完成要經過的加工步驟,例如裁切、焊接、測試、包裝。每道工序通常不只一台機台做得了,選哪台是排程要決定的事。上哪一台機。數字會再往上翻好幾個數量級。填入你自己工廠的數字看看。特別看最後一行:你們業務多接一張單,排法會變成幾倍。
算算看你工廠的排程組合數
填入你自己的數字,看看要從多少種排法裡挑出最好的那一種。
一次排程要處理幾張
從投料到完工幾道
平均有幾台機可以做
一張工單要備幾種料
- 總工序數
- —
- 光是決定工單先後順序
- —
- 再加上每道工序要上哪台機
- —
- 合計要考慮的排法
- —
- 每次重排要檢查的物料齊套條件
- —
- 業務多接一張單,排法變成
- —
算法:工單排序 N!,機台指派 k 的 N×P 次方,兩者相乘; 多一張單的倍數為 (N+1) 乘上 k 的 P 次方。 這算的是「存在多少種排法」,不是「系統要試幾次」——交期、換線與到料限制不會讓這些 排法消失,只會讓其中絕大多數變成不可行,排程系統正是靠它們成片排除、不逐一試完。 物料種類不計入排列,另計為每次重排要檢查的條件數。
作為對照:SARA 上有客戶一次排程要處理超過 500 張工單。每張 5 到 11 道工序,300 多台機台。要從這個規模裡挑出換線最少、又守得住交期的那一種,靠手填試不出來。
Excel 不會幫你找好的組合。它只顯示你填的那一個。於是大家排的不是「最好的排程」,是「想得到、填得完的排程」。兩者的差距,就是被白白吃掉的產能。
失控原因四:跟不上變動頻率
現實每天都在變。人工在 Excel 上重排一次往往要半天。頻率對不上,大家乾脆不重排,將就用一張已經過期的表。誤差一天天累積,直到交期前一週才爆出來。
變動不只讓表過期。它同時把人的負擔往上推。Fransoo 與 Wiers(2006)研究生產計畫人員的行為。生產計畫的變動越多,計畫人員採取的動作種類就越雜。認知負荷跟著變動量一起上升(Journal of Operations Management 24(6), 813–821)。
排程的價值在「重排得快」。Excel 的重排成本,高到讓人不想重排。
一份徵兆清單
如果你的工廠出現這些現象,代表 Excel 已經到極限了:
- 排程要等某一個特定的人,他不在就排不出來。
- 一張急單進來,往往演變成全廠加班。
- 交期常常是前一週才發現「來不及」。
- 稼動率(產能利用率)機台實際在生產的時間,佔它可用時間的比例。待料、換線、故障停機都會吃掉這個數字。要等月底結算才知道掉了。
小結
要判斷 Excel 還撐不撐得住,不必看表做得多細。看兩件事就夠:重排一次要花多久,那個人不在時排不排得出來。這兩題答不好,再認真填表也補不回來。記錄工具本來就不負責決策。
那 ERP 呢?很多工廠 Excel 撐不住的下一步,是想靠 ERP 接手排程。下一篇就談:為什麼 ERP 給你的派工單,也不是排程。
參考文獻
括號內為研究對象與樣本數。文中「20 張工單約 10 的 18 次方種排法」等組合數字為階乘推算,算式已附在各個行內註解裡,不另列來源。
- Panko, R.R. What We Know About Spreadsheet Errors(作者維護的線上彙整版)。文中「1995 年後 7 項研究、113 份試算表、88% 含錯誤」出自該頁 Table 1 前的統計段。原站 panko.shidler.hawaii.edu 已停止服務,連結為 2019-12-29 的網頁封存版。封存頁
- Powell, S.G., Baker, K.R. & Lawson, B. (2009). Errors in Operational Spreadsheets. Journal of Organizational and End User Computing 21(3), 24–36.(50 份營運中的試算表、270,722 條公式)連結
- Fransoo, J.C. & Wiers, V.C.S. (2006). Action variety of planners: Cognitive load and requisite variety. Journal of Operations Management 24(6), 813–821.(化工廠計畫人員的動作種類與計畫變動量)連結
- TOP500 榜單(2026 年 6 月)。榜首 LineShine 的 HPL 實測效能為 2.198 EFlop/s。連結