エクセルで工程表を作る方法|バー・今日の線・遅れの色分けまで数式つきで解説

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

この記事の手順で作る工程表の完成形。バー・今日の赤線・土日祝のグレー・遅れ気味の黄と遅延の赤

作るのが手間なら、この記事の手順をすべて入れた完成品を、無料で配っています。

目次

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. 開始日と終了日でバーを描く(条件付き書式)

バーは、セルの色を条件で変えて描きます。

  1. 工程の範囲(J6:CU35)を選ぶ。
  2. [ホーム]→[条件付き書式]→[新しいルール]→[数式を使用して、書式設定するセルを決定]を選ぶ。
  3. 式に =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枚に印刷する

  1. [ページレイアウト]→[印刷の向き]を横、[サイズ]をA3にする。
  2. [拡大縮小印刷]で、横を「1ページ」、縦を「自動」にする。
  3. [印刷タイトル]のタイトル行に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年。現場でそのまま使える形にこだわって、工程表のテンプレートを作っています。運営者について

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次