しかも、少し工夫するだけで振り返り機能も付けることができます。その振り返り機能付きのExcelガントチャートの作り方とは…?
ガントチャートを使っていると、カスタマイズしたくなることってありますよね?
しかし、市販のガントチャートはプログラムが保護されているため、カスタマイズがやりにくくなっているんです。
(市販されているスケジューラは)高価であり、また内部で使われているスケジューリング・アルゴリズムも不明である
でも、実はガントチャートはExcelで簡単に作ることができます。
しかも、他の人のガントチャートを参考にしてカスタマイズすることで、自分に合ったガントチャートを作ることができるんです。
本記事では、以前ご紹介した『振り返りもできるガントチャート』の作り方をご紹介いたしますので、ぜひ自分好みのガントチャートを作ってみてください。
気になるところへGO!
Excelガントチャートの作り方の流れ

まずは、作り方の流れを確認していきましょう。
私の場合、エクセルのマクロと条件付き書式を活用して、次の手順で作っています。
- Excel を『xlms』形式で保存する
- レイアウトを調整する
- 式を入力する
- 書式と条件付き書式を設定する
- マクロを設定する
ちょっと手順は多いですが、Excelに慣れている人なら20分程度で作れると思いますよ。
手順①Excelを『マクロ有効ブック』で保存する

まず、最初にExcelを立ち上げて『空白のブック』を開きましょう。
新しいブックが立ち上がったら、画面の左上にある『ファイル』→『名前を付けて保存』をクリックして、保存場所を指定してください。
その際、次の図のようにファイルの種類を『Excel マクロ有効ブック』に変更して保存しましょう。
そうすれば、拡張子が『xlms』のマクロ有効ブックとして保存されますので、次の『レイアウトの調整』に取り掛かっていきましょう。
手順②ガントチャートのレイアウト調整
続いて、ガントチャートのレイアウトを調整していきます。
調整する内容は列幅・セルの結合・書式の3つです。
最初に、セルの列幅を変更していきましょう。
ガントチャートはセルによって入力する文章の長さが異なります。
なので、次の画像の操作を行って、列の幅を変更していきましょう。

このように操作すると、列の幅を入力する画面が表示されるので、お好みの列の幅を入力してください。
- A~C列:3
- D~I列:10
- J~N列:5
- O~P列:3.5
- Q~R列:5
- S列~:3
列の幅を変更したら、『セルの結合』を行っていきましょう。
次の図の色がついている部分をドラッグして選択し、『セルを結合して中央揃え』をクリックしましょう。

セルの結合を行ったら、セルの見出しを作成して書式設定をしていきます。
まずは、次の図のように見出しに文字を記入し、セルの色を変更して罫線を引いておきましょう。

見出しの入力が終わったら、書式の設定をしていきます。
書式を設定したいセルをクリックしてから、その場所で右クリックするとメニューが出てきますので、『セルの書式設定(F)』をクリックしてください。

この方法を繰り返して、次の画像のセルの書式を次のように変更していきましょう。

このように設定しておけば、式を入力した際に列の幅が勝手に変わることがなくなります。
手順③式を入力して日程欄を作る

続いては、セルに式を入力して、ガントチャートの日程欄を作っていきます。
D3のセルにガントチャートの初日の日付を入力してから、次のセルに式を記入していきましょう。
- S6 → =MONTH(D3)
- T6 → =IF(MONTH(T7)=MONTH(S7),””,MONTH(T7))
- S7 → =D3
- T7 → =S7+1
- S8 → =WEEKDAY(S7)
- S9 → =IF($M9=S$7,”▼”,IF($K9=S$7,”▽”,IF(AND($K9<S$7,$M9>S$7),”ー”,””)))
式を記入した後は、式をほかのセルにコピーしていきます。
コピーするセルをクリックすると右下に点が表示されるので、点をクリックしたままコピーするセルの方向にドラッグします。(次の図)
すると、記入した式を簡単にコピーすることができるので、同じ方法で式2・4・5・6をコピーしておきましょう。
手順④条件付き書式の設定

続いては、条件付き書式を設定して、ガントチャートの機能を持たせていきます。
ホームタブの①『条件付き書式』の②『ルールの管理』をクリックしてください。

すると、図のようなウィンドウが表示されますので、書式ルールの表示を③『このワークシート』に変更して、④『新規ルール(N)』をクリックしましょう。
そしたら、次の画面が表示されるので、①『数式を使用して、書式設定するセルを決定』を選択してください。

その後、該当するセルに適した式を記入して、『書式』のボタンを押し、フォントの色やセルの背景色を変更していきます。
フォントの色などを変えたい場合は『フォント』のタブを、セルの色を変えたい場合は『塗りつぶし』のタグをクリックし、次の図の赤枠の部分から色を選択してください。

色を設定してOKを2回クリックすると次の画面が表示されるので、適用範囲を変更します。

入力した式に対応する適応先を入力してください。
それでは、ご紹介した方法で次の条件式を追加していきましょう。
- 式=AND($J9<=S$7,$L9>=S$7,$B9=”★”)
書式=赤背景
適用先=$S$9:$X$10 - 式=AND($J9<=TODAY(),$L9>=TODAY())
書式=赤文字
適用先==$B$9:$F$10 - 式=$P9>2*$N9
書式=赤文字
適用先=$P$9:$Q$10 - 式=S$7=TODAY()
書式=黄色背景・赤太字
適用先=$S$7:$X$8 - 式=COUNTIF(休日!$E$4:$E$54,S$7)=1
書式=黄緑背景・茶文字
適用先=$S$7:$X$10 - 式=COUNTIF(休日!$C$4:$C$54,S$7)=1
書式=黄緑背景・茶文字
適用先=$S$7:$X$10 - 式=AND(WEEKDAY(S$7,3)>=5,NOT(COUNTIF(休日!$J$4:$J$54,S$7)=1))
書式=黄緑背景・茶文字
適用先=$S$7:$X$10 - 式=AND($L9<TODAY(),NOT($R9=100%),NOT($L9=””))
書式=黒背景・赤太字
適用先=$B$9:$F$10 - 式=NOT(S$6=””)
書式=左罫線
適用先=$S$6:$X$6 - 式=AND($J9<=S$7,$L9>=S$7,$R9=100%)
書式=灰背景
適用先=$S$9:$X$10 - 式=AND($J9<=S$7,$L9>=S$7,NOT($B9=””),NOT($B9=”★”),NOT($R9=100%))
書式=紺背景
適用先=$S$9:$X$10 - 式=$R9=100%
書式=灰背景
適用先=$B$9:$R$9 - 式=AND($J9<=S$7,$L9>=S$7,$B9=””,NOT($R9=100%))
書式=橙背景
適用先=$S$9:$X$10
この書式を設定すれば、最初にお見せしたガントチャートの原型が出来上がっているはずです。
もしうまく行かない場合は、条件付き書式の順番に注意してください。
上に表示されている書式が優先的に適用されるので、条件付き書式の順番を『△▽』ボタンで入れ替えて、先程ご紹介した条件付き書式の順番に直しましょう。
手順⑤マクロの設定

これまでの作業でガントチャートはできあがりましたが、作業が2つしかない仕事なんて滅多にありませんよね?
なので、『行を追加するマクロ』を設定してしまいましょう。
もちろん、手動で行を追加することもできるのですが、式や書式を設定し直さなければいけなくなるので、すごい手間がかかるんです。
マクロを組むためには、最初に『開発』のタブを表示させる必要があります。
表示されていない方は、次の図のように『ファイル』を押して『オプション』をクリックしましょう。

すると右側の画面が表示されるので、『リボンのユーザー設定』をクリックして、『開発』のチェックボックスにチェックを入れて『OK』を押してください。
これで、次の画面のように『開発』のタブが表示されるようになったはずです。

ダブが表示されるようになった、Excelを開いた状態で『Alt』と『F11』を同時に押してください。
すると、先ほどのマクロ編集画面が表示されますので、sheet1をダブルクリックしましょう。
そしたら、マクロの入力ができるようになりますので、マクロ入力画面に次の文章を入力してください。
Sub 行追加()
Application.ScreenUpdating = False
Rows(ActiveCell.Row).Select
Selection.Insert shift:=xlDown
ActiveCell.Offset(-1, 1).Select
Range(ActiveCell, ActiveCell.Offset(0, 16)).Select
Selection.Copy
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Range(ActiveCell, ActiveCell.Offset(0, 16)).Select
Selection.ClearContents
ActiveCell.Offset(-1, 17).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
ActiveCell.Offset(-1, -3).Select
Selection.Copy
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
ActiveCell.Offset(-1, 2).Select
Selection.Copy
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Application.ScreenUpdating = True
End Sub
一見複雑そうに見えるマクロですが、『上の行の式をコピーして入力欄の情報を消去する』という単純なマクロです。
コピーして貼り付けたら、ファイルを保存しておきましょう。
ガントチャートをカスタマイズすると、マクロのオフセット値が変わってしまいますので、修正してください。
マクロを組んだら、マクロを実行するボタンを追加していきます。
次の図のように『開発』のタブをクリックして、『挿入』の中から『四角いボタン』を選択しましょう。
ボタンを設置したいところでドラッグすると、『マクロの登録画面』が表示されるので、『行追加』を選択して『OK』をクリックしてください。
すると、灰色のボタンが表示されるはずです。
ボタンが表示されたら、ボタンの上にカーソルを当てて右クリックをしましょう。
表示されるリストの中から『テキストの編集』をクリックしたら、ボタンの名前を入力してください。
なお、右クリックしたときにボタン出る白枠をドラッグすれば、ボタンのサイズを変更することができますよ。
変更が終われば、マクロ実行ボタンの完成です。
計画欄のどこかのセルを選んでいる状態でボタンを押せば、書式がコピーされた行を追加することができます。
マクロを実行すると、前の状態に戻せなくなるので保存してから押してくださいね!
おわりに
ご説明したように、複雑に見えるガントチャートも、Excelの基本的な機能を組み合わせただけです。
今回のガントチャートの使い方はこちらの記事でご紹介していますので、ぜひ活用してみてください。
なお、今回ご紹介したガントチャートはこちらからダウンロードできますよ。