エクセルで工程表を作ると、作業の開始日と完了予定、担当者、進捗状況を一枚の表で共有できます。
建設業の工事工程、製造業の生産計画、事務作業の締切管理など、用途はさまざまです。
ただし、日付の並べ方や土日表示、計画変更への対応を考えずに作成すると、更新しにくい表になってしまうかもしれません。
この記事では、関数を使った基本の工程表から、テンプレートの活用、VBAマクロによる更新の効率化までを順番に解説します。
工程表を作成するときの要点です。
・左側に工程名、担当者、開始日、終了日を配置します。
・右側に日付を横並びにし、条件付き書式で予定期間を色付けします。
・計画変更が多い場合は、テーブル、テンプレート、マクロを組み合わせます。
最初に手作業でも使いやすい基本形を作り、その後に見やすさと更新性を高めていきましょう。
エクセルで工程表を作成する基本手順
それではまず、開始日と終了日から横棒を自動表示する工程表の作り方について解説していきます。
| 工程名 | 担当者 | 開始日 | 終了日 | 9月1日 | 9月2日 | 9月3日 | 9月4日 | 9月5日 |
|---|---|---|---|---|---|---|---|---|
| 要件確認 | 田中 | 2026/9/1 | 2026/9/2 | |||||
| 設計 | 佐藤 | 2026/9/3 | 2026/9/5 |
項目と日付軸の配置
工程表では、A列に工程名、B列に担当者、C列に開始日、D列に終了日を置く構成が分かりやすい形です。
サンプルデータでは1行目を見出し行として、2行目以降に各工程を入力します。
工程名は「企画」「設計」「調達」「製造」「検査」のように、完了を判定しやすい単位に分けることが重要です。
細かく分けすぎると入力の負担が増え、粗すぎると遅延箇所を見つけにくくなります。
一人の担当者が一つの工程を責任を持って管理できる粒度を目安にしましょう。
日付軸はE1セルから右方向へ配置します。
E1セルに工程表の開始日を入力し、F1セルには翌日を表示する数式を入力します。
E1セルに開始日を直接入力し、F1セルには次の数式を入力します。
=E1+1
F1セルを右へオートフィルすると、日付が一日ずつ連続して表示されます。
日付表示の形式は「m/d」または「m月d日」に設定すると、横に長い工程表でも見やすくなります。

列幅を狭めすぎると日付が読みにくいため、日単位の表ではおおむね45から60程度の幅を確保すると安心です。
【操作のポイント】開始日と終了日は文字列ではなく日付形式で入力し、日付軸も実際の日付データとして扱います。
条件付き書式による工程バー
日付軸を作成したら、工程の期間に該当するセルを塗りつぶしてガントチャート風に見せます。
工程表のE2セルから右下の必要範囲を選択し、ホームタブの条件付き書式から新しいルールを選択します。

数式を使用して書式設定するセルを決定する項目を選び、次の数式を設定します。
=AND(E$1>=$C2,E$1<=$D2)
この数式では、列見出しの日付が開始日以上かつ終了日以下である場合に、セルへ書式を適用します。
E$1の行番号だけを固定することで、横方向にコピーしても各列の日付を参照できます。
$C2と$D2では列だけを固定するため、下方向へ適用したときは各行の開始日と終了日を参照します。
絶対参照と相対参照の組み合わせが、工程バーを正しく表示する鍵です。
塗りつぶしは淡い緑や青にすると、完了や遅延の色を後から追加しやすくなります。
【操作のポイント】条件付き書式の適用先は、日付軸の列だけに限定し、工程名や日付入力列を含めないようにします。
日付変更に強い入力ルール
工程表を長く使うなら、開始日と終了日を直接色塗りで表現しないことが大切です。
色を手作業で付ける方法では、予定を一日ずらすたびに複数のセルを塗り直す必要があります。
開始日と終了日だけを変更し、条件付き書式に表示を任せれば、工程バーは自動で移動します。
入力する情報と見せる情報を分けることで、工程表の保守性が高まります。
終了日が未定の工程は空欄にせず、仮の日付や確認予定日を入れる運用にすると、表から漏れにくくなります。
工程の順序を変更する可能性がある場合は、行番号を固定の管理番号として使わず、別列に工程IDを置く方法も有効です。
開始日をC列、終了日をD列、日付軸をE列以降に統一すると、数式や条件付き書式をコピーしやすくなります。
【操作のポイント】日程変更は開始日と終了日のセルだけで行い、工程バーのセルを直接塗り替えない運用にします。
関数を使った工程表の日付と進捗管理
続いては、TODAY関数や進捗率を使って現在の状況を把握しやすくする方法を確認していきます。
| 工程名 | 終了日 | 進捗率 | 残日数 | 判定 |
|---|---|---|---|---|
| 設計 | 2026/9/10 | 60% | 5 | 進行中 |
| 検査 | 2026/9/8 | 20% | -2 | 期限超過 |
TODAY関数による今日の日付表示

工程表の上部に今日の日付を表示すると、会議や朝礼で現在位置をすぐ確認できます。
たとえばB1セルへ次の数式を入力します。
=TODAY()
TODAY関数はブックを再計算した日の日付を返すため、毎日手入力で更新する必要がありません。
日付軸の中で今日に該当する列を目立たせたい場合は、条件付き書式に「=E$1=TODAY()」を設定します。
この書式を日付軸全体へ適用すれば、今日の列だけを自動で強調できます。
日付の線や背景色は工程バーと区別できる色にし、工程の進行期間が見えなくならないように調整しましょう。
【操作のポイント】TODAY関数の表示形式を「yyyy年m月d日」にすると、印刷した工程表でも基準日を判断しやすくなります。
残日数と期限超過の判定

終了日までの残り日数を数式で表示すると、優先的に確認すべき工程を探しやすくなります。
終了日がD2セルにあり、残日数をE2セルに表示する場合は、次の数式を使います。
=D2-TODAY()
結果が正の数なら終了日までの日数、0なら当日、負の数なら期限を過ぎた日数です。
土日を除いた営業日ベースで管理したい場合は、NETWORKDAYS関数が便利です。
=NETWORKDAYS(TODAY(),D2)-1
土日を除いた残営業日を求める数式です。
祝日も除外する場合は、別シートに祝日一覧を作成し、その範囲をNETWORKDAYS関数の第3引数に指定します。
暦日と営業日を混在させないことが、納期管理の混乱を防ぐポイントです。
【操作のポイント】残日数がマイナスのセルには赤い塗りつぶしを設定し、期限超過を視覚的に伝えます。
進捗率と完了状況の表示
工程表に進捗率の列を加えると、予定期間だけでは分からない作業の実態を共有できます。
進捗率は0パーセントから100パーセントまでの数値を入力し、表示形式をパーセントに設定します。
進捗率が100パーセントになった工程は、条件付き書式で灰色や完了色へ変えると見分けやすくなります。
判定列には、終了日と進捗率を組み合わせたIF関数を設定できます。
=IF(C2=100%,”完了”,IF(D2<TODAY(),”期限超過”,”進行中”))
ここではC列が進捗率、D列が終了日という前提です。
進捗率を入力する担当者と工程表を更新する担当者が異なる場合は、更新日を別列に記録する方法も役立ちます。
更新日が古い進捗情報は実態とずれている可能性があるためです。
【操作のポイント】進捗率は細かい数字にこだわりすぎず、10パーセント刻みなどの共通ルールで入力すると集計しやすくなります。
工程表テンプレートの作成と活用
続いては、毎回同じ書式を作り直さずに済むテンプレートの作り方を確認していきます。
| 案件名 | 開始日 | 完了予定日 | 責任者 |
|---|---|---|---|
| 新製品開発 | 2026/9/1 | 2026/10/31 | 山田 |
入力範囲のテーブル化
工程データの範囲をテーブルに変換すると、新しい工程を追加したときに罫線や数式を引き継げます。
見出し行を含む入力範囲を選択し、ホームタブのテーブルとして書式設定をクリックします。
または、CtrlキーとTキーを同時に押してテーブルの作成画面を開くこともできます。
先頭行をテーブルの見出しとして使用するにチェックが入っていることを確認しましょう。
テーブル化した範囲は行を追加しても拡張されるため、毎月の工程追加にも対応できます。
見出しにフィルターの矢印が表示されるので、担当者や進捗状況ごとの絞り込みも可能です。
【操作のポイント】工程表の見出し名は途中で変更しないようにし、数式やマクロで参照する列名を安定させます。
テンプレートファイルの保存
書式、条件付き書式、数式、入力規則を整えた工程表は、Excelテンプレートとして保存できます。
ファイルタブから名前を付けて保存を選び、ファイルの種類でExcelテンプレートを選択します。
拡張子はxltxとなり、マクロを含む場合はxltmです。
テンプレートを開いて入力すると、元のひな形を残したまま新しいブックとして保存できます。
原本の工程表を誤って上書きするリスクを抑えられる点が大きな利点です。
案件ごとに変える項目は、案件名、基準日、担当者、工程データです。
変えない項目は、列構成、条件付き書式、印刷設定、判定用数式です。
【操作のポイント】テンプレートの原本にはサンプルデータを残し、入力セルだけを分かる色で区別すると使いやすくなります。
印刷と共有を前提にしたレイアウト
画面上で見やすい工程表でも、印刷すると日付列が分断される場合があります。
ページレイアウトタブで印刷の向きを横にし、必要に応じて拡大縮小印刷を設定しましょう。
工程名、担当者、開始日、終了日などの左側の列は、印刷タイトルで繰り返す設定にすると確認しやすくなります。
横長の工程表では、日付軸を一か月単位で区切り、月初に太い罫線を入れる方法も有効です。
画面閲覧用と印刷用で確認することが、実務に使えるテンプレートへ仕上げる近道です。
【操作のポイント】共有前には印刷プレビューを確認し、担当者名や工程名が途中で切れていないかを確認します。
VBAマクロによる工程表更新の自動化
続いては、定型作業を減らすためのVBAマクロの活用方法について確認していきます。
| 自動化対象 | マクロで行う処理 | 期待できる効果 |
|---|---|---|
| 日付軸 | 基準日から日付を連続入力 | 月次更新の短縮 |
| 進捗確認 | 期限超過行を強調 | 確認漏れの防止 |
マクロを使う前の準備
VBAマクロを保存するブックは、Excelマクロ有効ブックとして保存する必要があります。
ファイルの種類でExcelマクロ有効ブックを選び、拡張子をxlsmにします。
開発タブが表示されていない場合は、ファイル、オプション、リボンのユーザー設定から表示を有効にできます。
マクロは便利ですが、外部から受け取った不明なxlsmファイルには注意が必要です。
信頼できる作成者と保存場所のファイルだけを実行するという基本を守りましょう。
【操作のポイント】マクロを記録または編集する前に、通常のxlsx形式のバックアップを保存しておくと安心です。
日付軸を作成するVBAコード
工程表の基準日をE1セルに入力し、F1セル以降へ31日分の日付を並べる簡単なマクロを紹介します。
VBAエディターで標準モジュールを挿入し、次のコードを貼り付けます。
Sub 日付軸を更新する()
Dim i As Long
Dim 基準日 As Date
基準日 = Range("E1").Value
For i = 0 To 30
Cells(1, 5 + i).Value = 基準日 + i
Cells(1, 5 + i).NumberFormatLocal = "m/d"
Next i
End Sub
このコードでは、E1セルにある日付を基準にして、E列から右へ31日分の日付を入力します。
Cells(1, 5+i)は、1行目のE列から右へ移動するセルを表しています。
基準日を月初へ変更してマクロを実行すれば、翌月用の日付軸へ短時間で更新できます。
【操作のポイント】実行前にE1セルへ正しい開始日を入力し、既存の日付軸を上書きして問題がないことを確認します。
期限超過工程を抽出する考え方
工程数が多い場合は、期限超過の行だけを抽出する仕組みがあると確認作業が軽くなります。
マクロで抽出する前に、判定列へ数式を設定しておくと、条件を明確にできます。
たとえば終了日がD列、進捗率がE列の場合、期限超過かどうかは終了日が今日より前で進捗率が100パーセント未満かで判断できます。
オートフィルターを使う方法なら、マクロを作らなくても「期限超過」だけを表示できます。
繰り返し同じ抽出を行う場合は、記録マクロで操作を記録してから、必要に応じてコードを調整する方法が現実的です。
自動化する対象は、誰が実行しても同じ結果になる定型処理から選びます。
【操作のポイント】マクロで工程データを削除する処理は避け、まずは日付更新や抽出などの安全な処理から始めます。
見やすい工程表にする色分けと管理方法
続いては、関係者が一目で状況を判断できる工程表の見せ方を確認していきます。
| 表示色 | 意味 | 利用場面 |
|---|---|---|
| 緑 | 計画どおり | 通常の予定工程 |
| 黄 | 注意が必要 | 遅延のおそれ |
| 赤 | 対応が必要 | 期限超過 |
色の意味を固定するルール
工程表で色を使う場合は、色ごとの意味を固定することが欠かせません。
担当者ごとに好きな色を使うと、進捗を示す色なのか担当部署を示す色なのか判断しにくくなります。
緑を予定どおり、黄色を注意、赤を期限超過というように、色と状態の対応をチームで統一しましょう。
完了済みの工程は淡い灰色にするなど、現在対応が必要な工程が浮き上がる色設計も便利です。
【操作のポイント】色だけに頼らず、判定列へ進行中や期限超過といった文字も表示して、印刷時や白黒表示にも備えます。
土日祝日と休業日の表示
日単位の工程表では、土日や休業日を視覚的に区別すると予定の読み違いを減らせます。
曜日を日付の下に表示し、土曜日と日曜日を薄い灰色に塗る方法が一般的です。
曜日は、日付がE1セルにある場合に、E2セルへ「=TEXT(E1,”aaa”)」を入力して表示できます。
条件付き書式で「=WEEKDAY(E$1,2)>5」を使うと、土日列を自動で判定できます。
休日に工程バーが重なっている箇所を早めに確認できるため、納期調整にも役立ちます。
【操作のポイント】休日出勤を予定している場合は、例外工程として注記列へ理由を残しておくと後の確認がスムーズです。
担当者別と工程別のフィルター
工程表をテーブル化しておくと、担当者、部署、進捗状況で必要な行だけを表示できます。
会議では全体表示を使い、個別の打ち合わせでは担当者で絞り込むと、情報量を適切に調整できます。
工程名の前に分類列を追加して、企画、設計、制作、確認、納品といった区分を持たせる方法もあります。
工程数が増えても、フィルターと並べ替えを前提にした列設計なら確認しやすさを保てます。
【操作のポイント】共有前にはフィルターが解除されているかを確認し、特定の担当者だけが表示された状態で配布しないようにします。
工程表を運用するときの注意点
続いては、作成した工程表を形だけの一覧にしないための運用上の注意点を確認していきます。
| 確認項目 | 確認する内容 | 確認頻度 |
|---|---|---|
| 予定日 | 開始日と終了日の妥当性 | 週次 |
| 進捗率 | 実績とのずれ | 週次または日次 |
| 変更履歴 | 変更理由と影響範囲 | 変更時 |
更新担当者と更新時刻の明確化
工程表は誰でも編集できる状態にすると、最新版がどれか分からなくなることがあります。
更新責任者を決め、会議後や毎週決まった曜日に更新するルールを設けましょう。
表の上部に最終更新日と更新者を表示すると、情報の鮮度を判断しやすくなります。
更新日にはTODAY関数ではなく、変更時に入力した確定日を残すと履歴として役立ちます。
【操作のポイント】共有フォルダー上で運用する場合は、ファイル名へ日付を毎回付けるより、版管理機能や変更履歴を使う方法を優先します。
遅延理由と影響範囲の記録
終了日だけを変更すると、なぜ予定が変わったのかが後から分からなくなります。
備考列を用意し、遅延理由、対応策、次工程への影響を簡潔に記録しましょう。
たとえば「部材納入が二日遅延」「設計確認待ち」「担当者の承認待ち」といった記録です。
日付変更の理由を残す習慣があると、同じ遅延を繰り返さない改善につながります。
【操作のポイント】備考は長文にせず、事実、影響、次の対応を一文ずつ記録すると会議で確認しやすくなります。
バックアップと閲覧権限の管理
重要な工程表は、誤操作や上書きに備えて定期的にバックアップを取る必要があります。
特にVBAマクロを含むファイルは、コード変更によって予期しない動作が起きる可能性があります。
編集する人と閲覧のみの人を分けられる共有環境では、役割に応じた権限設定を検討しましょう。
社外秘の予定や個人情報を含む場合は、パスワードだけに頼らず保存先のアクセス権も確認します。
【操作のポイント】大きな日程変更の前にはコピーを作成し、元に戻せる状態を確認してから編集を始めます。
まとめ エクセルで工程表を作成する方法(テンプレート・マクロ)
エクセルの工程表は、工程名、担当者、開始日、終了日、日付軸を整理して配置し、条件付き書式で予定期間を表示すると実用的な形になります。
開始日と終了日を基準に工程バーを自動表示する仕組みを作れば、日程変更にも対応しやすくなります。
TODAY関数、残日数、進捗率、期限超過判定を加えると、今確認すべき工程を見つけやすくなります。
繰り返し使う書式はテンプレートとして保存し、日付軸の更新や定型抽出は必要に応じてVBAマクロで自動化しましょう。
色分けの意味、更新担当者、変更理由、バックアップのルールまで決めておくと、工程表は単なる予定表ではなく、チームの進行管理に役立つ管理表になります。
まずは少ない工程数で基本の表を作り、運用しながら自分の業務に合う列やルールを追加していきましょう。