タケモ塾

エクセルだけで作る!工程表(ガントチャート)の作り方①

エクセルだけで作る!工程表(ガントチャート)の作り方①

「Excelで作成した工程表に対して色をつけたい!マクロを使用して指定した期間に色がつくようにしてもらえないか?」と相談をいただきました。一般的な工程表(ガントチャート)であれば、Excelの機能だけで作成することができます。

本記事では、Excel機能のみを利用した「工程表(ガントチャート)」の作り方を解説していきます。
※細かい処理が発生するため、2回に分けて紹介します。

下記ページから完成版をダウンロードいただけます。
【Excelテンプレート】工程表(ガントチャート)2023年版

工程表(ガントチャート)とは?

システム開発や建設工事など、定められた期間があるプロジェクトは、スケジュールを作成して状況を管理しています。
手帳などのカレンダーを利用したスケジュール管理とは異なり、各作業の関連性や時系列をもとに「バー」(期間)で表現し、スケジュールを「見える化」して全体の状況を把握します。
なお、 本記事は「工程表の作り方」ではなく「工程表テンプレートの作り方」ですのでご注意ください。

工程表(ガントチャート)の完成イメージ

まず「工程表」の完成形イメージを紹介します。本記事より工程表を作成すると以下のような形になります。

【機能】
・開始日、終了日を入れるとカレンダー部分の背景色が「水色」に代わります。
・進捗度に「100%」を入れると背景色が「グレー」に代わります。
・土日、祝日(サンプルでは4/5を仮の祝日として設定)の背景色が「ピンク」に代わります。

 

CellNetsVBA

ひな形(テンプレート)の作成

まず「工程表」の形を作成します。工程表を作成するためには以下の項目が必要です。
・作業名
・担当者
・開始日
・終了日
・進捗度
・カレンダー部分
項目を並べると以下のような形になります。
なお「F1」の値を変更することでその先の日付が変更できるよう、関数を設定しています。

CellNetsVBA

カレンダー部分の設定

カレンダー部分の編集を行います。1行目は「月」を表示し、2行目は「日」を表示します。
「日付」より必要な部分のみ表示するために「セルの書式設定」を利用します。
2行目の日付部分を選択し、右クリックより「セルの書式設定」を選択します。その後、「分類」の「ユーザー定義」を選択し、「種類」に「d」(日付)と入力してください。日付のみが表示されるようになります。

CellNetsVBA

1行目の「月」も同様に修正しましょう。なお「月」のみ表示する場合は「種類」に「m”月”」を設定します。

休日設定の準備

工程表は作業スケジュールを立てるために利用するため、作業がない日(休日)を区別する必要があります。そこで、「月」と「日」の間に曜日を設定しましょう。

工程表上に曜日を表示する必要はないため、後で非表示にします。そのため、「日付」の下ではなく、「日付」の上に行を挿入してください。

次に「F2」セルに対して 「=TEXT(F3,”aaa”)」 を指定します。
TEXT関数は「指定されたセルを指定された形で表示する」ことができます
今回の場合(指定されたセル)は「F3」(日付)を指し、(指定された形)は「aaa」(曜日)を指定しています。
そのため「=TEXT(F3,”aaa”)」を設定すると、その日付の曜日を表示することができます。
この「曜日」は後半の説明で「休日設定」する際に利用します。

CellNetsVBA
TEXT関数:指定されたセルを指定された形で表示する
指定されたセル:F3(日付) 指定された形:aaa(曜日)

 

列幅・ウィンドウの固定

次に列幅を設定します。「作業名」は広く、「カレンダー部分」は狭くするのが良いと思います。

罫線を設定しやすくするために「ウィンドウ枠の固定」を行います。カレンダー下のセル(F3)を選択し「表示」タブ>「ウィンドウ枠の固定」を選択してください。これにより縦、横のスクロールが固定され罫線が設定しやすくなりました。

CellNetsVBA

見出しの設定

次に見出しを設定します。「担当者順に並べ替えたい」「終了日順に並び変えたい」など工程表は色々な形で並び変える場合があります。しかし、セル結合すると並び替えができなくなります。そのため 「セル結合せずに見出しを表現する」方法 を紹介します。

まず「作業名」から「進捗度」までの見出しに罫線を設定します。「A1」から「E3」までのセルを選択してください。
その後「セルの書式設定」の「罫線」を表示してください。この時、プリセットの「外枠」と罫線の「(縦)中央」を選択します。
次に「塗りつぶし」より任意の色を選択します。

CellNetsVBA

次にカレンダー部分の書式設定を行います。なお、 並び替えは 「3行目」 を基準に行われるため、1行目(月)に対してはセル結合しても問題ありません。 罫線、背景色等を設定し、以下の状態にしましょう。この時、「日付」の罫線は細いものを選択した方が見やすくなります。「スタイル」から細い線を選択しましょう。

CellNetsVBA

明細行の設定

最後に明細行を設定します。詳細な設定は後半編で紹介するため、ここでは罫線の設定のみ行います。

4行目以下の明細行(見出し+カレンダー部分)を選択し、「セルの書式設定」の「罫線」を表示してください。工程表な情報力が多いため、通常の罫線を設定すると文字が潰れて見づらくなります。縦、横ともに「細い罫線」を利用しましょう。

CellNetsVBA

まとめ

本記事を元に作成すると以下イメージ図のようなテンプレートを作成することができます。 以下に気を付けて工程表を作成してください。次の記事では「自動的に期間を表示する方法」を紹介します。

・「日付」は色々な形(月、日、曜日)で表示することができる。
・細かい情報を表現する場合、「細い罫線」を利用する。
・「セル結合」すると「並び替え」ができなくなる。背景色と罫線よりセル結合せずに見出しを表現する。

【イメージ図】