一般的な工程表(ガントチャート)であれば、Excelの機能だけで作成することができます。
本記事では、Excel機能のみを利用した「工程表(ガントチャート)」の作り方を解説していきます。
※本記事は「ひな形」作成後の処理を解説しています。「ひな形」の作成手順は前の記事をご参照ください。
下記ページから完成版をダウンロードいただけます。
▶【Excelテンプレート】工程表(ガントチャート)2023年版
システム開発や建設工事など、定められた期間があるプロジェクトは、スケジュールを作成して状況を管理しています。
手帳などのカレンダーを利用したスケジュール管理とは異なり、各作業の関連性や時系列をもとに「バー」(期間)で表現し、スケジュールを「見える化」して全体の状況を把握します。
なお、 本記事は「工程表の作り方」ではなく「工程表テンプレートの作り方」ですのでご注意ください。
本記事では以下機能を持つ工程表の作成手順を紹介します。
前回の記事では見出しの作成から罫線の設定までを行いました。
本記事では、自動的に背景色を設定する機能について紹介します。
【前回(見出しの作成から罫線の設定まで) イメージ図】
工程表の作成は「日付」の扱いが重要です。正しくない日付(2/30など)が入力されることを避けるため、日付の入力設定、表示設定を行います。
「開始日」「終了日」の明細行(C列~D列)を選択してください。「データ」タブ>「データの入力規則」を選択し、日付の入力に関する設定を行います。「データの入力規則」で利用する各タブの用途は以下となります。
タブ名 | 用途 | 設定 |
設定 | 入力する際の値の種類や範囲(期間や数値の範囲)を設定することができます。 今回は2022年~2023年の日付を範囲として設定しています。 |
【入力の種類】日付 【開始日】2022/1/1 【終了日】2023/12/31 |
入力時メッセージ | 何を入力するのか利用者に伝えるためにメッセージを表示します。(今回は利用しません) | なし |
エラーメッセージ | エラー値が入力された際のメッセージを設定します。 | 【タイトル】期間内の日付を設定してください 【エラーメッセージ】2022年~2023年内の日付を指定してください |
日本語入力 | セルを選択した際の入力形式(ひらがな、カタカナ、数値等)を指定することができます。 | 【日本語入力】半角英数字 |
設定が完了したら日付を入力してみましょう。「####」と表示された場合、列幅が狭く、日付を表示できていないことになります。列幅を広くすることも可能ですが、工程表はカレンダー部分の表示を広げるために「開始日」「終了日」の列幅を広げることは得策ではないため、以下の操作を行ってください。
このとき、より日付を短く表現するために「yy/m/d」とすると、表示した際にノイズが生じて見づらくなります。桁数は揃えて設定しましょう。
今回は「進捗度」より背景色の設定を行います。そのため正しくない数値(120%等)が入力されると正しく処理できなくなるため、「開始日」「終了日」同様、表示設定、入力設定を行います。
ここではまず「表示形式」の設定を行います。
「進捗度」の明細行(E列)を選択し、「ホーム」タブ>「%」を指定します。
設定後、「1」や「100」を入力し「1%」「100%」と表示されることを確認してください。
この時、「開始日」「終了日」に対して「進捗度」の文字サイズが大きく、ノイズが生じます。「開始日」「終了日」同様の文字サイズに修正してください。
次に進捗度の入力設定を行います。「進捗度」の明細行(E列)を選択し、「データ」タブ>「データの入力規則」を選択してください。
タブ名 | 設定 |
設定 | 【入力の種類】小数点数 【開始日】0 【終了日】1 |
入力時メッセージ | なし |
エラーメッセージ | 【タイトル】不正な値が入力されました 【エラーメッセージ】0~100までの進捗度を入力してください |
日本語入力 | 【日本語入力】半角英数字 |
この時の「設定」に注意が必要です。「%」とは、「0.01」など小数点以下の数値を%の形で表現しているため、内部では「小数点数」として扱っています。そのため「整数:0~100」を指定すると意図した制御が行われません。
「小数点数」で「0~1」(%にすると0~100)を範囲として指定しましょう。
ここまでで入力の設定が完了しました。次に「背景色」の設定を行います。
「背景色」の設定は「条件付き書式」を利用して設定します。しかし、いきなり「条件付き書式」に条件を指定することは難しいため、まずはExcel上で条件式の確認を行います。
まず、今回の条件を分解します。今回の条件は「開始日」「終了日」が「カレンダーの日付」に対して範囲内か否か、を確認するものとなります。これをいきなり書くと難しいため、機械的に条件を分解します。
まず①の条件文を考えてみましょう。条件文ですので「IF」関数を使用します。
また、IF関数の条件に合ったか否か判断するため、ここでは「〇」を表示する関数を作成してみます。設定後、横にオートフィルで数式をコピーしてください。(コピーする際は「書式なしコピー」を選択してください)
指定日(4/4)以降に〇がつきました。次に、②の条件文を考えてみましょう。
同じF4に対して以下計算式を設定します。設定後、横にオートフィルで数式をコピーしてください。(コピーする際は「書式なしコピー」を選択してください)
指定日(4/8)以前に〇がつきました。この①②の条件を組み合わせて設定します。
組み合わせるために「AND」関数を使用します。設定後、横にオートフィルで数式をコピーしてください。(コピーする際は「書式なしコピー」を選択してください)
意図した期間に「〇」が設定されました。この時「$」の指定に注意が必要です。
「開始日」「終了日」は「列」が基準となるため「列名の前」に「$」を指定しています。
それに対し、「カレンダーの日付」は「行」が基準となるため「行番号の前」に「$」を指定しています。
これがずれると条件付き書式を設定した際、正しく表示されなくなるため、今回のようにExcel上で意図した通り表示されるか確認してから設定することをお勧めします。
ここまでで「条件式」の確認ができました。この「条件式」を使用して「条件付き書式」を設定します。
「F4」を先頭に、明細行を選択し、「ホーム」タブ>「新しいルール」を選択してください。
「数式を使用して、書式設定するセルを決定」を指定し、先ほど作成した関数の「条件部分」を設定します。
設定後「書式」の「塗りつぶし」より、背景色を設定しましょう。
条件付き書式の設定より、以下のように期間に対する背景色が設定されます。
調査に使用した関数は後で消してください。
ここまでで「期間」に対する背景色の設定が完了しました。次は「ステータスに応じた背景色」の設定を行います。
ステータスは「進捗度」より判断することができます。この「進捗度」に対するステータスを機械的に検討してみましょう。
では先程同様、先に作成した関数と先程作成した関数を合わせてみましょう。
設定後、縦、横にオートフィルで数式をコピーしてください。(書式なしコピーとしてください)
100%を指定した行(完了した行)にのみ「〇」が設定されました。ではこの条件を「新たな条件」として条件付き書式に追加します。
「F4」を先頭に、明細行を選択し、「ホーム」タブ>「新しいルール」を選択してください。
「数式を使用して、書式設定するセルを決定」を指定し、先ほど作成した関数の「条件部分」を設定します。
設定後「書式」の「塗りつぶし」より、背景色を設定しましょう。
条件付き書式の設定より、以下のように完了したタスクに対する背景色が設定されます。
調査に使用した関数は後で消してください。
次に休日の設定を行います。ここも条件を機械的に考えてみましょう。
内容が似ていますので、ひとまとめに関数を紹介します。
今回の場合「AとBに一致する(AND)」ではなく「AまたはBに一致する」(OR)を指しますので「OR」関数を使用します。
では各関数を合わせてみましょう。設定後、横にオートフィルで数式をコピーしてください。(コピーする際は「書式なしコピー」を選択してください)
「祝」に〇が表示されるか確認するために「4/5」に「祝」を設定してください。
休日部分が特定できる数式が作成できました。次に「条件付き書式」の設定を行います。
「F3」(カレンダー部分含む)を先頭に、明細行を選択し、「ホーム」タブ>「新しいルール」を選択してください。
「数式を使用して、書式設定するセルを決定」を指定し、先ほど作成した関数の「条件部分」を設定します。
設定後「書式」の「塗りつぶし」より、背景色を設定しましょう。
この時、「塗りつぶし」の他に「パターンの色」「パターンの種類」を設定することをお勧めします。
これにより、通常より背景色を薄い色に設定することができ、通常の「背景」と異なるという意図を伝えることができます。
最後に微調整を行います。以下を参考に調整をお願いします。
いかがだったでしょうか。このようにExcel機能だけで工程表を作成することができることがわかりました。
一つ一つ分解して説明しておりますので、作業が長く感じたかもしれません。しかし、実際には同じ機能を繰り返して利用していますので、慣れればさほど時間をかけずに作成することができます。ぜひお試しください。