多數人一想到要做甘特圖,直接打開 Excel 插入一個橫條圖,把日期拖進去就收工。問題是那張圖只畫出了每項任務的起訖時間,長條跟長條之間沒有標出誰等誰,看不出哪一項任務一旦延誤,會不會拖累後面的進度。
甘特圖製作真正該花力氣的地方,不是圖表本身,而是畫圖之前那張任務清單有沒有拆對。清單拆得亂,長條圖再漂亮,排程照樣兜不起來;工期抓錯一天,後面所有連動的任務跟著一起錯下去。這也是為什麼很多人照著教學把 Excel 圖表做出來,回頭卻發現這張圖沒人在看,因為它反映不出真正的排程風險。
任務清單怎麼拆、時程怎麼排進 Excel、里程碑與相依關係有沒有補齊,這幾件事都做到位,一張圖表看起來才會真的具備甘特圖該有的功能,而不只是外觀像。
任務清單沒拆好,甘特圖畫出來也派不上用場
甘特圖這種用長條表示時程的做法,以美國工程師 Henry Gantt 命名,他在 1910 年代提出並推廣這種圖表,目的是讓一項專案裡各個任務的起訖時間一眼看懂,直到現在,它仍是專案排程最常見的視覺化工具之一。美國專案管理學會(PMI)在專案管理術語集裡,把甘特圖描述為把活動列在垂直軸、日期列在水平軸,再依起訖日期畫出代表工期的橫條;照這個定義,用 Excel 拉出來的堆疊橫條圖確實算得上甘特圖,但英國專案管理協會(APM)也提醒,甘特圖本身並不會顯示任務之間的相依關係。
換句話說,只畫出單一矩形長條、沒標出「前一項任務會影響下一項任務何時能開始」這種相依關係的圖表,看起來一樣漂亮,卻回答不了排程裡最重要的問題,也就是某一項任務一旦延誤,後面哪些任務會跟著往後推。
這個落差不代表 Excel 做出來的圖沒有用,而是提醒我們,甘特圖的核心從來不是那根彩色的長條,而是長條背後那張任務清單。清單裡的任務名稱模糊、顆粒度忽大忽小,或是根本沒排出誰先誰後,畫出來的長條圖只是把一堆日期上色,看起來完整,實際上反映不出真正的排程風險。
先把任務清單這一關做好,後面的 Excel 操作才有意義,也才有辦法在圖表做出來之後,回頭補上相依關係與里程碑這兩個進階元素。
把專案拆成排得進時程的工作項目
「工作分解結構」(WBS,Work Breakdown Structure)在專案管理領域的定義,是一種以交付成果為導向的階層式拆解方法,把專案團隊要做的工作從大到小一層一層往下拆,藉此界定專案的完整範圍;每往下拆一層,對「要做什麼」的描述就更具體一些。
WBS 處理的是「有哪些工作」,不是「誰負責」也不是「什麼時候做」,它不是組織圖,也還不是時程表。把工作範圍先界定清楚,再回頭排時間、填進 Excel 的日期欄位,順序顛倒過來,常常會先列出一堆動作,事後才發現漏了什麼、也分不出輕重。
列出所有交付成果與必須完成的階段目標
這一步只問一件事,也就是專案結束的時候要交出什麼。以「幫龐果設計的官網做改版」為例,最終要交出的東西,可能是新版首頁上線、產品與服務頁改版完成、部落格版型換新,加上改版後的 SEO 檢查沒有問題,先把這幾個等級的大項目列出來,每一項都是一個看得到、驗收得了的成果,而不是一個動作。
這個階段最容易犯的錯,是還沒列完大項目就開始想細節,像是要找誰寫文案、圖要用什麼尺寸。這些都是好幾層之後才需要煩惱的事,先停在「交出什麼」這個等級,把整個專案的範圍框出來,後面拆解才有一個穩定的骨架可以掛。
逐層拆到可以獨立指派的工作包
大項目列好之後,往下拆到「一個人或一個小組可以獨立接手、而且有明確完成定義」的程度就停手,不必拆到每一次滑鼠點擊。專案管理實務上,把這個最底層的單位稱為「工作包」,也就是可以被單獨指派、也能估出工期與成本的最小單位。以「新版首頁上線」這個大項目為例,往下拆可能是網站架構稿、視覺設計稿、前端切版、上線前測試這幾個工作包,每一項都能交給特定的人或小組去負責,也能個別估出要花幾天。

拆解的顆粒度抓不準,是這一步最常見的兩種失誤。拆太細,會把調整一個按鈕顏色這種等級的動作也列成一項任務,任務清單長到沒人想看,維護起來反而更累;拆太粗,則是把「首頁改版」整個階段直接當成一項任務丟進時程表,結果這一項可能要花三個星期,中間進度停在哪個環節完全看不出來。工作包抓在「幾天到兩、三週能做完,而且有清楚驗收標準」這個區間,通常是比較好抓的分寸。
排出任務先後順序與彼此的牽動關係
工作包列完之後,回頭判斷哪些任務有先後依賴、哪些可以同時進行。排程實務上,只要邏輯上說得通,任務之間通常優先採用「前一項任務完成、後一項任務才開始」這種最常見、也最不容易出錯的排列方式;其餘像是兩項任務同時開始這類排法,留給真的需要平行作業的情況再用。
以剛剛的首頁改版為例,網站架構稿通常要做完,視覺設計稿才能真正定案;前端切版則要等視覺稿確認之後才能開始。先在紙上或表格草稿把這些先後關係想清楚,再進 Excel 填日期,才不會等到長條圖畫出來,才發現某兩項任務的時間根本兜不起來。有了這張排好順序的任務清單,才有辦法動手做甘特圖需要的時程表格。
建立甘特圖需要的任務時程表格
把上一步拆好、排好順序的任務清單搬進 Excel,先做成一張乾淨的表格,這一步決定了後面圖表好不好做、日後好不好維護。多數 Excel 甘特圖教學都採用「任務名稱、開始日期、結束日期、持續天數」這四個欄位當作最基本的結構,持續天數則是用結束日期減開始日期算出來,不需要手動輸入。
表格裡任務列的排列順序,最好跟後面圖表由上到下呈現的順序一致,先想清楚要照時間排,還是照改版的階段排,之後反轉圖表的座標軸才不會亂了套。
任務名稱、開始日期與結束日期三個基本欄位
Microsoft 官方支援文件示範的甘特圖範例表格填在儲存格 A1 到 C6 裡,用的是「任務」「開始至今的天數」「剩餘的完成天數」三欄,也就是用天數而不是日期記錄。實際排專案時,建議改用實際日期而不是「第幾天」來記錄,因為後面圖表要直接抓日期當座標,日期格式抓對了,水平軸才能正確顯示時間軸,拖曳任務的起訖時間時也比較直覺。
以龐果設計的官網改版為例,「網站架構稿」開始日期可以填 3 月 2 日、結束日期填 3 月 6 日;「視覺設計稿」接著從 3 月 9 日排到 3 月 20 日。每一列都對應前面工作分解結構拆出來的一個工作包,欄位越乾淨,後面選取資料範圍、插入圖表的動作就越省事。
用公式讓每個任務的持續天數自動算出
除了三個基本欄位,再加一欄「持續天數」,用公式自動算出來,而不是手動輸入數字。公式很簡單:
=結束日期-開始日期Code language: plaintext (plaintext)
如果任務只做一天、想把當天也算進工期裡,就在後面加 1:
=結束日期-開始日期+1Code language: plaintext (plaintext)
公式寫好之後,往下拖曳套用到整欄,之後只要調整某一項任務的開始或結束日期,持續天數會自動跟著變,不必每次手動重算。

這一步看起來只是多一個欄位,實際上決定了後面圖表能不能一次做好。因為插入堆疊橫條圖時,持續天數會直接被拿來當作長條的長度,如果這一欄是手動填的數字,只要日期一改,長條的長度就會跟日期對不起來,圖表也就跟著失真;公式化之後,新增或調整任務都能一次選取資料範圍重畫,不必逐格檢查。表格的欄位與公式都就緒之後,下一步就是把這些數字實際轉成長條圖的外觀。
用堆疊橫條圖把時程資料畫成甘特圖外觀
這一步是整篇操作最核心的地方,做法照 Microsoft 官方支援文件的路徑走:選取剛剛整理好的任務名稱、開始日期與持續天數這三欄(結束日期那一欄不要選,按住 Ctrl 跳過它),點選「插入」,再從建議的圖表類型裡選「堆疊橫條圖」。之所以要用堆疊橫條圖,而不是一般的橫條圖,是因為堆疊的畫法能把「開始日期」跟「持續天數」疊在同一條長條上,兩段長度加起來,才會落在正確的起訖位置。
圖表畫出來之後,通常會有兩個地方看起來怪怪的:任務清單的順序跟表格上下顛倒、水平軸顯示的是一串數字而不是日期。這兩個問題都有對應的修正步驟,底下分開講。
插入堆疊橫條圖,並把開始日期的長條藏起來
圖表剛插入時,每一項任務會出現兩段顏色不同的長條疊在一起,前面一段代表開始日期累積的天數,後面一段才是真正的工期。點一下代表開始日期的那段長條,也就是圖表裡的第一個資料數列,切到「格式」頁籤,打開「圖案填滿」選單,選「無填滿」,把它變成透明。這段長條原本的用途只是把後面代表工期的長條,推到正確的起始位置上,它本身不需要被看到,一旦隱形之後,畫面上留下來的長條,長度跟位置才會準確對應每一項任務實際的起訖時間。
接著可以把不需要的圖例或圖表標題刪掉,讓畫面留白。因為兩段長條只剩一段顯示,圖例原本標示的開始日期與持續天數已經沒有意義,留著只會讓圖表看起來更亂。

反轉任務順序,讓水平軸校正成日期時間軸
第一個要修正的地方,是任務清單上下顛倒,Excel 預設會把表格最上面一列的任務,畫在圖表最下方。修正方式是在垂直軸,也就是任務清單那一欄上按右鍵(Mac 版是按住 Control 再點選),打開「座標軸格式」設定,在「座標軸位置」裡勾選「類別次序反轉」,任務順序就會回到跟表格一致的由上到下排列。
第二個要修正的地方,是水平軸顯示的通常是一串數字,而不是看得懂的日期。把水平軸的格式從「數值」改成「日期」,軸線上就會直接顯示日期而不是流水號。另外可以把座標軸的「最小值」設成專案裡最早那一項任務的開始日期,這樣可以去掉長條圖左側那一大段沒有任何任務、看起來像空白浪費的區域,讓整張圖從第一項任務就開始顯示。圖表做到這裡,甘特圖的外觀已經成形,但回到最前面提過的落差,它還缺一樣東西,就是任務之間的相依關係。

補上里程碑與相依關係,讓延誤風險浮上檯面
回到文章一開始提過的定義落差,單純的堆疊橫條圖,只呈現了每一項任務各自的起訖時間,還沒辦法回答某一項任務延誤了,後面哪些工作會跟著往後推這個問題。不靠額外軟體,直接在原本的 Excel 表格裡手動補上里程碑跟相依關係這兩個元素,就能補上這塊缺口。
里程碑跟一般任務不一樣的地方,在於它沒有工期,只標記一個時間點,像是視覺稿定案、網站正式上線這種一次性的關卡,而不是要花好幾天執行的工作。相依關係則是記錄任務之間誰要等誰的先後牽動,前面排列先後順序那一步已經想清楚邏輯,這裡要做的是把它視覺化,讓人一眼就看得出哪幾項任務被綁在一起。
用金色長條或圖案標出專案的關鍵里程碑
具體做法是把里程碑當成一項工期一天的任務,直接列進原本的時程表格,跟其他任務一起排進圖表。差別在於,把它的長條顏色改成跟其他任務明顯不同的顏色,例如金色或紅色,一眼掃過圖表就能認出哪裡是關卡、哪裡是一般工作。以龐果設計的官網改版為例,「視覺稿定案」「網站正式上線」這兩個節點,都可以用這種方式標出來。
想讓里程碑更醒目,可以在對應的長條上方插入一個菱形圖案疊上去,做出接近正式專案管理軟體那種菱形里程碑符號的效果。這個做法純粹是視覺上的加強,不影響底層資料,拿掉圖案也不會動到表格裡的日期。
用前置任務欄位或顏色分組標出相依關係
相依關係比較簡單的做法,是在表格裡多加一欄「前置任務」,直接寫清楚這一項要等哪一項做完才能開始,這一欄實際在記錄的,就是前面排順序時提到的「前一項任務完成、後一項任務才開始」這種最常見的相依邏輯,只是換成表格裡看得到的形式。另一種做法是用同一種顏色,把有牽連的一串任務標成同一組,一看顏色就知道這幾項是綁在一起的。

這裡要老實提醒一件事:這一欄只是人工提示,Excel 本身不會自動判斷、也不會自動調整任務之間的先後關係。哪一天視覺稿定案的日期往後延了,前端切版跟著要往後移多久,得自己回頭一項一項檢查,不會像正式的專案排程軟體那樣連動更新。這是手動做甘特圖必須接受的限制,也是圖表做完之後還得繼續投入心力維護的原因。
甘特圖不是畫完就結束,還要固定更新
甘特圖做完最常遇到的問題,不是畫不出來,而是畫完就晾在旁邊沒人再打開。時程一有變動,如果沒有回頭更新,這張圖很快就會跟實際進度脫節,變成一張看起來很專業、卻沒人在看的裝飾品。
用 Excel 手動維護甘特圖,天生就有它的天花板,每一次調整都要自己動手改日期,任務之間也不會像專業排程工具那樣自動連動,改了一項任務的日期,其他被它影響的任務不會跟著挪動,得自己一項一項檢查。這種做法在任務量不多、彼此的牽連關係也單純的專案裡還算夠用,一旦任務數量變多、需要好幾個人同時更新進度、或是相依關係變得複雜,手動維護要花的時間跟精神,很快就會超過這張表原本該省下來的時間。
更新的頻率建議抓在每個里程碑或每週固定回顧
與其每天盯著圖表零星修改,不如設定固定的回顧時間點,每週一次,或是每完成一個里程碑就回頭檢查一次,會比隨機更動來得有效率。固定時間點回顧的好處是,可以一次把所有受影響的任務日期看過一輪,而不是改了一項就忘了連帶檢查跟它相依的其他任務。
回顧的時候,重點放在哪些任務的實際進度跟表格上的日期對不上,而不是把整張表重新做一次。如果某一項任務進度落後了,順著前置任務欄位往下找,看看有哪些任務排在它後面、需要跟著往後挪,把這些連動關係一次檢查完,再回到平常的工作節奏。
任務一多,Excel 不是唯一的解法
任務量、相依關係的複雜度,還有需要一起更新進度的人數,是判斷要不要換工具的三個指標。如果專案本來就不大,任務彼此的先後關係也單純,通常只有一、兩個人在維護,那麼一張整理乾淨的 Excel 甘特圖就夠用,不需要為此另外導入新系統。
但如果任務數量開始膨脹、相依關係變得複雜到光靠前置任務欄位已經追蹤不過來,或是需要多人同時更新各自負責的部分,這時候手動維護的時間成本就會迅速墊高,值得考慮改用具備自動連動與多人協作功能的專案管理工具。要不要換,不必看某一個絕對的任務數字,而是感覺到花在對表格、補日期的時間,已經比實際執行專案的時間還多,就是該評估的時間點。如果連比較這幾個指標的時間都想省下來,也有更快的起步方式。
不想從頭手刻,現成範本與 Google 試算表的起步方式
Excel 內建的範本庫裡就有現成的甘特圖範本可以直接套用,不必重新設定圖表格式、顏色跟座標軸。Microsoft 官方文件本身也提到,Excel 沒有預先定義的甘特圖類型,並直接附上免費甘特圖範本的連結。
但範本能省掉的,只有畫圖這一步。任務清單怎麼拆、每一項的起訖日期怎麼排、哪些任務彼此相依,這些前面幾節講的功課還是得自己做完,再填進範本裡,範本頂多是把最後畫圖表的動作變快,沒辦法幫忙做決定。
平常習慣用 Google 試算表的人,也有現成的「時間軸」功能可以用,操作邏輯跟本文的 Excel 做法互通,一樣需要先準備好一張任務清單和起訖日期完整的表格,才能一鍵轉換成簡易的專案時間軸畫面。依 Google 官方說明,這項功能開放給 Google Workspace 的 Business、Enterprise、Education 等方案,適用版本不含一般個人 Gmail 帳號,個人帳號比較常見的做法是靠條件式格式手動做出類似效果。
這張圖真正的價值,在於任務清單拆得夠細、相依關係也標得夠清楚之後,遲到的警訊會提前在長條圖上亮起來,不必等到交付日當天才被發現。就算沒有專門的排程軟體,一張維護得夠勤的 Excel 甘特圖,也能撐起這個功能,前提是隨著專案往前走,固定回頭把它更新到跟現實一致。
