開始日と終了日を入れるとバーが伸び、遅れている工程が黄色・赤に変わる工程表を、エクセルの標準機能だけで作る手順です。マクロは使いません。条件付き書式と、いくつかの関数だけで作れます。

作るのが手間なら、この記事の手順をすべて入れた完成品を、無料で配っています。
1. 工程表に必要な列を決める
左側に工程の情報、右側に日付を並べます。この記事では、次の配置で説明します。
| 列 | 中身 |
|---|---|
| B | 工程名 |
| C | 担当 |
| D | 開始日 |
| E | 終了日 |
| F | 日数(自動:土日祝を除いた稼働日) |
| G | 進捗(%) |
| H | 状態(自動:順調・遅れ気味・遅延など) |
| J列〜 | 日付(1列=1日) |
B2セルに「表示開始日」を入れ、工程は6行目から下に入れます。日付の列は列幅を2.7くらいまで狭くしておくと、3か月分が1画面に収まります。
2. 日付と曜日の見出しを自動で並べる
4行目に日付、5行目に曜日、3行目に月を出します。
- 日付:J4に
=$B$2、K4に=J4+1。K4を右へコピーします(約3か月=90日分ならCU列まで)。表示形式を「d」にすると、日にちの数字だけになります。 - 曜日:J5に
=TEXT(J4,"aaa")を入れて右へコピー。「月」「火」…と出ます。 - 月:J3に
=IF(OR(J4=$B$2,DAY(J4)=1),MONTH(J4)&"月","")を入れて右へコピー。最初の列(表示開始日)と、毎月1日の列にだけ「11月」のように出ます。
B2の表示開始日を変えると、日付の見出しがまるごと動きます。
3. 開始日と終了日でバーを描く(条件付き書式)
バーは、セルの色を条件で変えて描きます。
- 工程の範囲(J6:CU35)を選ぶ。
- [ホーム]→[条件付き書式]→[新しいルール]→[数式を使用して、書式設定するセルを決定]を選ぶ。
- 式に
=AND(J$4>=$D6,J$4<=$E6)と入れ、[書式]→[塗りつぶし]で薄い緑を選ぶ。
ポイントは「$」の付け方です。J$4は「日付は4行目に固定」、$D6は「開始日はD列に固定」という意味です。この形にしておくと、範囲のどのセルでも「その列の日付が、その行の開始日から終了日のあいだにあるか」を判定できます。

4. 進捗の分だけバーを濃くする
進捗(G列)に50%と入れたら、バーの前半が濃くなるようにします。同じ範囲に、もう1つルールを足します。
=AND(J$4>=$D6,J$4<$D6+ROUND(($E6-$D6+1)*$G6,0))
書式は濃い緑です。工程の日数(終了日−開始日+1)に進捗をかけた日数ぶん、開始日から塗ります。条件付き書式は上にあるルールほど優先されるので、[ルールの管理]で、このルールを手順3のルールより上に移してください。
5. 今日の線を引く
今日の列に、縦の赤い線を引きます。工程の範囲に、次のルールを足します。
=J$4=TODAY()
書式は[罫線]で、左と右に赤い線です。日付の見出し(J4:CU5)にも同じ式で赤い塗りつぶしを付けると、今日の列がひと目で分かります。TODAY関数なので、毎日勝手に動きます。
6. 土日祝をグレーにする
別のシート(例:「祝日」)のA列に祝日を並べ、その範囲に「祝日」という名前を付けておきます([数式]→[名前の定義])。そのうえで、工程の範囲に次のルールを足します。
=OR(WEEKDAY(J$4,2)>5,COUNTIF(祝日,J$4)>0)
WEEKDAY(日付,2)は、月曜が1、日曜が7を返します。6(土)と7(日)が休みになります。日曜だけ休みの現場なら WEEKDAY(J$4,2)=7 にします。このルールは一番下に置き、バーの色が優先されるようにします。
色がずれる・付かないときの直し方は、「エクセルで土日・祝日に自動で色を付ける方法」で詳しく説明しています。

7. 日数(稼働日)を自動で出す
F6に次の式を入れて、下へコピーします。土日と祝日を除いた日数が出ます。
=IF(OR(D6="",E6=""),"",NETWORKDAYS(D6,E6,祝日))
8. 遅れ気味・遅延を色で出す
H列に状態を出します。終了日を過ぎても100%になっていなければ「遅延」。前日までに予定していた進み具合より、進捗が10ポイント以上少なければ「遅れ気味」です。H6に次の式を入れて、下へコピーします。
=IF(B6="","",IF(OR(D6="",E6=""),"日付未入力",IF(G6>=1,"完了",IF(E6<TODAY(),"遅延",IF(AND(G6=0,D6>=TODAY()),"未着手",IF(G6<IFERROR(MAX(0,NETWORKDAYS(D6,TODAY()-1,祝日))/F6,0)-0.1,"遅れ気味","順調"))))))
「前日までに予定していた進み具合」は、開始日から昨日までの稼働日を、全体の稼働日で割ったものです。今日の分はまだ作業中なので、昨日までで数えます。こうすると、着手した日の朝に「遅れ気味」と出てしまうのを防げます。
色は2か所に付けます。
- 状態のセル(H6:H35):[条件付き書式]→[セルの強調表示ルール]→[指定の値に等しい]で、「順調」は緑、「遅れ気味」は黄、「遅延」は赤にします。
- バー(J6:CU35):
=AND($H6="遅延",J$4>=$D6,J$4<=$E6)を薄い赤、=AND($H6="遅れ気味",J$4>=$D6,J$4<=$E6)を黄にして、手順3のルールより上に置きます。

9. A3横1枚に印刷する
- [ページレイアウト]→[印刷の向き]を横、[サイズ]をA3にする。
- [拡大縮小印刷]で、横を「1ページ」、縦を「自動」にする。
- [印刷タイトル]のタイトル行に3〜5行目を指定すると、2ページ目以降にも日付の見出しが出ます。
ルールの順番(まとめ)
条件付き書式は、上のルールほど優先されます。工程の範囲(J6:CU35)のルールは、次の順に並べてください。
| 順 | ルール | 書式 |
|---|---|---|
| 1 | 今日の線:=J$4=TODAY() | 罫線(左右・赤) |
| 2 | 進捗:=AND(J$4>=$D6,J$4<$D6+ROUND(($E6-$D6+1)*$G6,0)) | 濃い緑 |
| 3 | 遅延:=AND($H6="遅延",J$4>=$D6,J$4<=$E6) | 薄い赤 |
| 4 | 遅れ気味:=AND($H6="遅れ気味",J$4>=$D6,J$4<=$E6) | 黄 |
| 5 | 計画:=AND(J$4>=$D6,J$4<=$E6) | 薄い緑 |
| 6 | 休日:=OR(WEEKDAY(J$4,2)>5,COUNTIF(祝日,J$4)>0) | 薄いグレー |
終わった工程をグレーにしたい場合は、=AND($H6="完了",J$4>=$D6,J$4<=$E6) を「進捗」より上に足します。
完成品は無料で配っています
ここまでの手順をすべて入れた工程表を、無料で配っています。祝日(2026・2027年分)入り、休みの曜日の切り替え、サンプル入り、A3横の印刷設定済みです。自分で再現できる「練習」シートも付いています。メールアドレスを入れると、ダウンロードのリンクをすぐにメールでお届けします。
現場が複数ある方には、上位版の「工程表ダッシュボード Pro」もあります。遅れたら「いつ終わるか」(見込み終了と予定との差)を自動で出し、複数案件の一覧と担当者ごとの負荷表が付きます。Proの説明を見る
作った人
Excel30年×製造現場20年。現場でそのまま使える形にこだわって、工程表のテンプレートを作っています。運営者について
