- Excelでガントチャート(線表)を作りたい
- Excelでスケジュール管理表を作りたい
- Excelで指定範囲を自動で塗りつぶしたい
- Excelで項目ごと(人ごと)に塗りつぶしの色を変えたい
Excelを使ってスケジュール管理やアクションアイテムの管理をすることは多いです。
その中でも視認性の良いスケジュール管理といえば、『ガントチャート』。
この記事では『Excelガントチャート』を自作するときに役に立つ関数、セルの設定を紹介します。
~Excelガントチャートを自作する~
完成形の説明
完成したガントチャートはこちらです。
このガントチャートで導入したい特徴は下記です。
- 日付間隔を変更でき、月が替わっても区切り枠線が自動反映
- 本日の場所が表示される
- イベントの期間まとめと細かいアクションのそれぞれを表示できる
- F列とH列を埋めれば、対象期間を塗りつぶせる
- D列に項目や担当を選ぶプルダウンがあり、それぞれ色が変えられる
補足図です。
日付間隔を変更した場合はこちら
月の区切りの枠線が自動で反映されていますね。
フォーマット作成
設定を順に説明していきます。
基本となるフォーマットを作っていきます
- ① 開始日をチャートの先頭に連動
- ② それより右の日付は、開始日+日付間隔の式にする
- ③ 9行目は曜日表示にする(後述します)
- ④⑤ 細かいアクションの期間(小期間)からイベントの期間を反映
③の曜日設定の補足です。
右クリック – セルの書式設定 か Ctrl + 1 で設定を呼び出します。
表示形式 – ユーザー定義 – 種類 を『aaa』にするだけ
- ⑥ 日付を入力した時に曜日が表示される設定
- ⑦⑧ 最初の”月” を表示するための設定
次からは日付間隔と連動させるレイアウト設定です。
日付間隔の変更に連動して『○月』表示させる数式
ここは複雑ですね。
- ⑨ 数式はこちらを [セルL8] に入力
=IF(AND(DAY(L8)>=1,DAY(L8)<=$B$4),MONTH(L8),IF(AND(DAY(L8)>=$B$4+1,DAY(L8)<=$B$4*2),”月”,””)) - M8以降はL8の数式をコピーします
日付間隔の変更に連動して『○月』を区切る枠線書式
日付間隔と連動する罫線(枠線)の設定です。
セルJ7~ガントチャート端の7行目を選択した状態で
ホーム – 条件付き書式 – ルールの管理 を選択
新規ルール
数式を使用して、書式設定するセルを決定で数式に
=ISNUMBER(J$7) と打つ
書式で罫線タブからセル左に線が入る様にする
ここも理解が難しいですが、この数式で
設定⑨で”月”数字が表示される行(=2つあるIf関数の1つ目のTRUE が 返っている行)には左に線が入る書式にする
という設定になります。
結果、”月”数字が表示される行に区切り線が入ることになります。
本日を表示する書式
本日を示す塗りつぶしです。
8行目だけを塗りつぶす場合は、J8~チャート端の8行目までを選択。
8~9行目を 塗りつぶす場合は、J8~チャート端の9行目までを選択した状態で
先ほどと同じ 条件付き書式 – 新しいルール を選択
数式を使用して、書式設定するセルを決定で数式に
=AND(J$8<=TODAY(),J$8+$B$4-1>=TODAY()) と打つ
ここも解釈が難しいですが。。。
塗りつぶし期間と色を連動
ガントチャートのコアとなる塗りつぶしの設定です。
J10~チャート端の10行目までを選択し、
同じく 条件付き書式のルールの管理 – 新しいルール を選択
数式を使用して、書式設定するセルを決定で数式に
=IF($D10=”期間”,OR(AND($F10>=J$8,$F10<=J$8+$B$4-1),AND($H10>=J$8,$H10<=J$8+$B$4-1),AND($F10J$8+$B$4-1))) と打つ
新規ルールを種類分増やして、上記の数式に” ”を変更して代入
残りの行にも書式をコピーする
これで出来上がりです。
ガントチャートをより便利なものにアレンジする内容を別記事にしました!
Excelガントチャートのアレンジ:行のグループ化で折りたたむ(VBAマクロも紹介)おまけ
Excelテク集の目次は下の通り
(下のリンクから各項目に直接アクセスできます)
時短や快適さアップのテクニックが多くあります!!
最後まで見て頂きありがとうございました。
広告
広告
広告