ガントチャートの作り方|Excel・スプレッドシートの記入例と数式

ガントチャートは、作業ごとの開始日と終了日を横棒で示す表です。ExcelやGoogleスプレッドシートでは、日付を並べた列に条件付き書式を設定すると、簡単なガントを作れます。見やすいバーを描くだけでなく、作業の完了条件、先行関係、担当者の予定も確認して使いましょう。
以下はコピーして組み立てるひな型です。日付、担当、進捗は説明用の架空例で、ファイルの配布や自動の日程調整を意味しません。数式は英語の関数名とカンマ区切りで記載します。利用する表の地域設定に合わせ、日付値、区切り文字、書式を確認してください。
ガントで分かることと、日程計画との違い
ガントで見えるのは、入力した作業期間の重なりと前後関係です。その期間が実行可能かどうかは別に確認します。同じ人のバーが3本重なっていても、各作業が30分なのか丸1日なのかはバーから分かりません。作業量と経過期間を分けてください。
項目 | ガントでの扱い | 別に確認すること |
|---|---|---|
作業期間 | 開始日から終了日をバーにする | 作業、確認待ち、休日の内訳 |
先行関係 | 先行IDを記録する | 先行変更で後続を動かす判断 |
担当負荷 | 担当者のバーを見比べる | 見積人時と利用可能時間 |
完了条件 | 作業名と併記する | 受領や確認の証拠 |
まずWBSの記入例で対象範囲を作業へ分け、日程計画の立て方で順序と実行可能な日付を考えます。ガントは、その計画を共有して更新する表示です。ここで紹介する式は、先行関係による自動再計算やクリティカルパスの計算を行いません。
コピー用テンプレート:列・日付・進捗率の入力例
1行目を見出し、2行目以降を作業にします。A〜K列に次の項目を置き、L1から右へ連続した日付を入力します。休日は別シートHolidaysのA2:A20へ日付値として置きます。休日の範囲は自社の営業日に合わせて更新してください。
列 | 項目 | 入力のルール |
|---|---|---|
A〜D | ID/区分/作業・完了条件/担当 | IDを変えず、誰の何を終えるかを書く |
E・F | 開始日/終了日 | 日付値で入力し、終了日を開始日以降にする |
G | 営業日数 | 下のNETWORKDAYS式を入れる |
H | 進捗率 | 0%〜100%。保存値は0〜1 |
I〜K | 状態/先行ID/メモ | 状態語と依存の扱いをそろえる |
L列以降 | 日付(1行目) | 文字列ではなく連続する日付値 |
次は、2026年10月16日時点と仮定した架空の記入例です。休日表には説明のため10月13日を1日入れ、土日を休業日とします。実際の国・地域の祝日一覧を示すものではありません。G列の2・2・1はこの条件で計算した営業日数です。
A:ID | B:区分 | C:作業・完了条件 | D:担当 | E:開始日 | F:終了日 | G:営業日数 | H:進捗率 | I:状態 | J:先行ID | K:メモ |
|---|---|---|---|---|---|---|---|---|---|---|
T-01 | 原稿 | 初稿をレビューへ提出 | A | 2026-10-12 | 2026-10-14 | 2 | 100% | 完了 | 休日13日を除く | |
T-02 | 確認 | 確認結果を返却 | B | 2026-10-15 | 2026-10-16 | 2 | 50% | 確認中 | T-01 | 確認項目2つのうち1つ終了 |
T-03 | 公開 | 確認済み原稿を公開 | A | 2026-10-19 | 2026-10-19 | 1 | 0% | 未着手 | T-02 | 先行の確認完了が必要 |
50%はこの例で同じ重みの確認項目2つのうち1つを終えた値です。どの作業も25%刻みにする必要はありません。実態に合う算定方法がなければ、無理な割合より状態と残作業を記します。100%は数値1であり、セルに100を入力して百分率表示することとは違います。
開始日と終了日からバーを描く数式
L2:AP100をバーの表示範囲とする例です。この範囲を選び、数式を使う条件付き書式に次の式を登録して塗りつぶし色を選びます。表示したい期間や行数に応じ、範囲は変えられます。
=AND(ISNUMBER($E2),ISNUMBER($F2),$F2>=$E2,ISNUMBER(L$1),L$1>=$E2,L$1<=$F2)
$E2と$F2は開始・終了の列を固定し、L$1は日付の行を固定します。右へは日付列、下へは作業行を変えて判定します。両日を含む暦日のバーなので、休日にも色が付きます。土日と指定休日を除くG2の営業日数には、別に次の式を入れて下へコピーします。
=IF(AND(ISNUMBER(E2),ISNUMBER(F2),F2>=E2),NETWORKDAYS(E2,F2,Holidays!$A$2:$A$20),"")
MicrosoftのNETWORKDAYS仕様とGoogleのNETWORKDAYS仕様は、開始日・終了日と任意の休日範囲から営業日数を求める関数を説明しています。2営業日という結果は、16人時や2人日の作業量を意味しません。空欄や逆転日付でGが空欄になる行は、計画から消すのではなく入力を直してください。
休日・完了・期限超過を表示する設定
書式の役割を分けると競合を減らせます。日付ヘッダーL1:AP1には今日と週末、作業側L2:AP100には期間のバー、A2:K100には期限超過を表示する構成にします。次は順に、今日、週末、未完了の終了日超過を判定する式です。
=L$1=TODAY()
=AND(ISNUMBER(L$1),WEEKDAY(L$1,2)>5)
=AND(ISNUMBER($E2),ISNUMBER($F2),$F2>=$E2,$F2<TODAY(),ISNUMBER($H2),$H2<1,$I2<>"中止")
今日の色と週末の色が重なる場合は、今日のルールを上に置きます。Googleの条件付き書式では最初に真になったルールの扱いを確認でき、Excelの条件付き書式では優先順位やStop If Trueの設定を確認できます。Excelでこの設定を使えるルールかも確認し、同じ画面操作だと思って設定しないでください。完了行はH=100%で期限超過の対象から外れます。
検算する入力 | 期待する表示 | 誤る場合に直すこと |
|---|---|---|
開始日が空欄 | バーなし、G空欄 | 未決の日付として確認する |
終了日が開始日より前 | バーなし、G空欄 | 入力順序を修正 |
日付が文字列 | 日付値として認識されるまで使わない | 地域設定と入力形式 |
今日が終了日 | 期限超過にしない | 判定はF<TODAY() |
Hが100%/1 | 期限超過の対象外 | 割合の保存値 |
休日を追加 | Gが減り、暦日のバーは変わらない | 休日表の日付値 |
先行作業の終了日を変更 | 後続は自動では動かない | 先行IDの確認 |
TODAYは日付の判定で、通知を送る仕組みではありません。進捗率が空欄の行はこの期限超過式の対象にならないため、空欄を別に確認してください。
先行タスクと担当の稼働を確認して日程を直す
T-01が1日延びたら、T-02の担当者がその日に対応できるか、T-03の予定に影響するかを確認します。先行IDを入力しただけでは後続の日付は移動しません。期限から逆算した案と、着手可能日から積み上げた案を照合して直します。
例えばレビューが4人時必要で、担当者がその期間に2人時しか確保できないなら、不足は2人時です。この架空計算は同じ期間と同じ作業範囲が前提です。日付を1日延ばせば必ず解消するわけではなく、他の予定、確認者の在席、追加修正も確認します。
- 変更する作業と理由を残す。
- 先行・後続の作業ID、期限の固定条件を確認する。
- 必要時間と担当者の利用可能時間を照合する。
- 範囲、担当、日程の選択肢を責任者と決める。
- 影響する行を手で更新し、関係者へ変更を共有する。
公開や引き渡しを単なるバーの終点にせず、マイルストーンの完了条件も定めます。余裕は一律の割合ではなく、確認待ち、未確定事項、過去のばらつきに合わせて検討してください。
更新ルールと表計算から見直す判断項目
更新の責任者とタイミングを決めます。開始・終了の見込みが変わったとき、成果物を提出したとき、確認が戻ったときに作業行を更新し、定例では日付不明、期限超過、依存の矛盾を点検します。表を日々書き換えても、変更の理由が消えると振り返りに使えません。
共同編集の可否は保存先と版に依存します。Microsoftは対応環境でのExcel共同編集を案内しているため、人数だけでExcelを使えないと決める必要はありません。権限、版履歴、必要な共有範囲を確認しましょう。
日付変更のたびに後続の調整が漏れる、担当別負荷を別表で再入力する、閲覧権限を満たせない、といった問題が続く場合は運用と道具を見直します。必要な依存計算、権限、変更履歴、取り出し方法を要件にし、代表的な作業で確かめてから選んでください。