ブログ一覧へ戻る

ガントチャートの作り方|Excel・スプレッドシートのテンプレート構成と数式

「ガントチャートを作りたいが、専用ツールを導入するほどではない」「まずは手元のExcelやGoogleスプレッドシートで作りたい」。この記事では、そのまま流用できるテンプレートの列構成と作成手順に加えて、条件付き書式でバーを自動描画する数式、Excelとスプレッドシートの使い分け、そして運用が形骸化しないための更新ルールまで解説します。

ガントチャートとは?何が見えるようになるのか

ガントチャートは、縦軸にタスク、横軸に時間を取り、各タスクの開始日から終了日までを横棒(バー)で表した工程管理表です。1910年代にアメリカの経営コンサルタント、ヘンリー・ガントが考案した手法で、100年以上経った現在もプロジェクト管理の標準フォーマットとして使われ続けています。

単なるタスク一覧との最大の違いは、「重なり」が見えることです。

  • 誰の作業がいつ集中するのか(負荷の偏り)
  • どのタスクが遅れると、どの後続作業が止まるのか(依存関係)
  • 全体のどこに余裕が残っているのか(バッファの所在)

一覧表では日付を目で追わないと分からないこれらの情報が、バーの位置関係だけで把握できます。関係者への共有資料としても、口頭での補足説明を大幅に減らせます。

WBSとの違い:先に作るのはどちらか

混同されやすいのがWBS(Work Breakdown Structure)です。役割は明確に分かれています。

  • WBS:「何をやるか」を漏れなく階層分解したもの。時間軸は持たない
  • ガントチャート:分解済みのタスクに「いつやるか」を割り当てたもの

順序としては、WBS→ガントチャートです。WBSを飛ばしていきなりガントチャートを書き始めると、思いついたタスクだけが並び、抜けた作業が後から割り込んでスケジュール全体を押し出すことになります。まずタスクを洗い出し、それから日付を入れる。この順番を守るだけで、計画の精度は大きく変わります。詳しくはWBSの作り方をご覧ください。

作り始める前に、用途別の3つの型から選ぶ

ガントチャートは目的によって必要な列が変わります。作り始める前に、次のどれに当たるかを決めておくと、後から列を足す手戻りがなくなります。

  • シンプル型(日次・1〜2ヶ月):タスク名と期間だけの最小構成。短期の制作案件や単発施策向け
  • 標準型(日次・3〜6ヶ月):担当者・進捗率・ステータス・先行タスクを含む。社内プロジェクト全般に対応
  • マーケ施策型(月次・年間):キャンペーン単位で束ね、予算・実績・KPI欄を追加したもの。年間の施策カレンダーとして使えます

以降は、最も汎用性の高い標準型を前提に解説します。

テンプレートの列構成

標準型の列はA列からK列までの11列で、L列以降を日付ヘッダーに充てます。この構成をそのまま流用してください。

  • A:No―連番。タスクを参照するときのID
  • B:大分類―WBSの第1階層。「要件定義」「制作」「入稿」などのフェーズ名
  • C:タスク名―担当者が読んですぐ動ける粒度で。動詞で終える
  • D:担当者―1タスク1名。複数名を書くと責任が曖昧になります
  • E/F:開始日・終了日―バーの描画元になる列。ここだけは必ず日付形式で入力する
  • G:日数―NETWORKDAYS関数で営業日ベースの自動計算
  • H:進捗率―0〜100%。25%刻みで十分です
  • I:ステータス―未着手/進行中/レビュー中/完了/遅延。入力規則(データの入力規則)でプルダウン化しておくと表記ゆれを防げます
  • J:先行タスク―このタスクの前に完了している必要があるタスクのNo
  • K:備考―外部依存や前提条件のメモ

「先行タスク」列は省略されがちですが、これがないと遅延が発生したときに影響範囲を追えません。3タスク以上が連鎖するプロジェクトであれば、必ず入れておくべき列です。

作成手順:5ステップ

  1. タスクを洗い出す:フェーズごとに分解し、大分類とタスク名の列を先に埋めます。この時点では日付を入れません
  2. 担当者を割り当てる:1タスク1名で確定させます。担当が決まらないタスクは、決めること自体をタスク化してください
  3. 期間を入れる:終了日から逆算するのではなく、着手可能な日から順に置いていきます。逆算で埋めると、机上では収まるが実行不可能な計画になりがちです
  4. 依存関係でずらす:先行タスク列を見ながら開始日を後ろに動かします。ここで初めて全体の所要期間が確定します
  5. マイルストーンとバッファを置く:中間レビューや承認日をマイルストーンとして固定し、その手前に全体の10〜20%のバッファを確保します

バーを自動描画する数式

ガントチャートのバーは、図形やセルの手塗りではなく条件付き書式で描くのが基本です。日付を書き換えるだけでバーが追従するため、更新の手間がほとんどかかりません。手順は次のとおりです。

1. 日付ヘッダーを作る

行見出しの右隣(標準型ではL列)から、1行目に日付を並べます。先頭セルに開始日を入れ、隣のセルに「=前のセル+1」を入力して右方向にコピーすれば連番になります。こうしておけば、先頭セルの日付を変えるだけでカレンダー全体をスライドできます。表示形式をユーザー定義の「d」にすると日付の数字だけが表示され、列幅を2〜3ポイントまで詰められます。

2. 条件付き書式でバーを塗る

バーを描く範囲(L2以降)を選択し、「数式を使用して書式設定するセルを決定」に次の式を設定します。E列=開始日、F列=終了日、L列以降=日付ヘッダーという前提です。

=AND(L$1>=$E2, L$1<=$F2)

塗りつぶし色を指定すれば、開始日から終了日までのセルが自動的に色付きバーになります。ポイントは絶対参照の付け方です。行番号(1)の前に$を付けて日付行を固定し、列記号(E・F)の前に$を付けて日付列を固定します。この2点が崩れると全体がずれるので注意してください。

3. 状態ごとに色を分ける

同じ要領でルールを追加していきます。進捗率はH列です。

  • 完了したタスクをグレーにする:=AND(L$1>=$E2, L$1<=$F2, $H2>=1)
  • 遅延しているタスクを赤くする:=AND(L$1>=$E2, L$1<=$F2, $F2<TODAY(), $H2<1)
  • 土日をグレーにする:=WEEKDAY(L$1,2)>5
  • 当日に縦線を引く:=L$1=TODAY()

条件付き書式は上に設定したルールが優先されます。当日→遅延→完了→通常のバー→土日の順に並べると、見たい情報が隠れません。

ExcelとGoogleスプレッドシート、どちらで作るか

ここまでの列構成も数式も、両方でそのまま使えます(NETWORKDAYSも条件付き書式も共通です)。選ぶ基準は機能ではなく、共有の仕方です。

  • Excelが向くケース:関係者が社内に限られる/既存の見積書や工数表と数式で連携させたい/オフライン環境で扱う必要がある
  • スプレッドシートが向くケース:外部パートナーを含めて共有する/複数人が同時に更新する/変更履歴を残したい

判断軸はシンプルで、更新する人が2人以上いるならスプレッドシートです。Excelファイルをメールやチャットで回すと、必ず版が分岐します。「最新版_修正_final2.xlsx」が生まれた時点で、そのガントチャートは信頼できる資料ではなくなります。

運用でつまずく3つのパターン

粒度が細かすぎてメンテナンスできない

1日未満のタスクまで書き込むと、更新工数がプロジェクト管理そのものを圧迫します。目安は1タスク=2〜5営業日。それより小さい作業は担当者のToDoに任せ、ガントチャートには載せません。

作った直後から更新されない

最も多い失敗です。原因は更新のタイミングが決まっていないことにあります。週次定例の冒頭10分を進捗率の更新に充てる、といったルールを、チャートを作った日に同時に決めてしまってください。更新されないガントチャートは、実態と乖離した瞬間に判断を誤らせる材料に変わります。

バッファがなく、1つの遅延が全体に波及する

各タスクの見積もりに個別のバッファを埋め込むと、余裕はその期間内で使い切られてしまいます。バッファは個別タスクではなく、フェーズの末尾にまとめて置いたほうが機能します。全体に対して10〜20%が目安です。

Excel管理の限界と、次に検討すべきこと

Excelやスプレッドシートのガントチャートは、単一プロジェクトであれば十分に機能します。一方で、次のような状況になると管理コストが急に跳ね上がります。

  • 施策が10本を超え、ファイルが分散して横断的な進捗が見えない
  • 予算・実績とスケジュールが別ファイルで、突合に工数がかかる
  • 複数プロジェクトを跨いだメンバーの稼働状況が把握できない

「テンプレートの更新作業に時間を取られている」と感じ始めたら、それはツールを見直すサインです。Xtrategyでは、施策のスケジュールと予算・KPIを同一画面で管理し、複数キャンペーンの進捗を横断して確認できます。キャンペーン単位の管理方法についてはマーケティングキャンペーン管理テンプレートも併せてご覧ください。

まとめ

  • ガントチャートは「いつ」を可視化する工程表。先にWBSで「何を」を洗い出す
  • 列構成の要は、開始日・終了日・担当者・進捗率・先行タスクの5列
  • バーは条件付き書式(=AND(L$1>=$E2, L$1<=$F2))で自動描画できる
  • 更新者が2人以上ならGoogleスプレッドシートで作る
  • 作った日に「いつ更新するか」を決めることが、形骸化を防ぐ唯一の方法
ブログ一覧へ戻る