Excelのガントチャートは日付・時間のスケジュールを視覚化するのに役立ちます。
方法はわかってもなぜその方法で色がつくのか、私もExcelを始めたての頃はわかりませんでした。
今回は、なぜ色がつくようになっているのかを解説する記事です。
難易度:
仕組みは意外とシンプルです。
関数を使用するので、やや簡単にしています。
ガントチャートの色付けポイントは3つ
ガントチャートが色づく仕組みのポイントはたった3つです。
- シリアル値の比較
- 比較した結果がTRUEの時に色を塗る
- セル一つずつ判定
シリアル値の比較
シリアル値というのは、Excelの中で時間や日付を管理している数字です。
例えば、6:00という時間をシリアル値に変換すると0.25となりますが、これは24時間を1として6:00を計算します。
6÷24=0.25です。
日付に関しては、2024/1/1は45292という数字になりますが、これは1900/1/1を1として、そこから2024/1/1が何日目に当たるのかという計算をしています。
私たちは1:00と1:10では1:10の方が遅いってわかりますが、Excelではシリアル値で比較し、数字の小さい方=早い時間(日付)と判断しています。
この考え方があるおかげで計算やガントチャートが作れるようになっています。
時間や日付をシリアル値で確認したい場合は、時間もしくは日付を入力した後に表示形式を標準に戻してあげると確認できます。
比較した結果がTRUEの時に色を塗る
Excelを使用していて、このTRUEとFALSEの考え方が難しいポイントです。
しかし、このTRUEとFALSEを使用できると、条件付き書式を始め関数を使ってできることの幅がぐっと広がります。
ガントチャートで色がつく理由はこのTRUEとFALSEでTRUEの時に色を塗るようにしています。
実際、下図のガントチャートを作成するには条件付き書式に以下の数式が入っています。
=AND(タイムスケジュール表!$D3<=B$1,タイムスケジュール表!$F3>B$1)
タイムスケジュール表↓
タイムスケジュール表のD3のセル=7:30
タイムスケジュール表のF3のセル=7:40
=AND(7:30<=7:00,7:40>7:00)になります。
And関数を使用しているので、7:30<=7:00と7:40>7:00が共にTRUE(正しい)時にTRUEになります。
今回の場合は7:30は7:00よりも大きいので、FALSEとなります。
そのため、7:00のセルには色を塗らないという結果になります。
ガントチャートを作る際、AND関数をよく使用します。
なぜ、AND関数を使用するのかも次でよくわかります。
セル一つずつ判定
以下の部分にフォーカスして解説していきます。
前のセクションで、=AND(タイムスケジュール表!$D3<=B$1,タイムスケジュール表!$F3>B$1)がTRUEの時にセルに色を塗ります。という解説をしましたが、式だけを見るとわかりづらいので以下の表にして解説いたします。
B$1は解説する表では1行追加しているためC$1になります。
実際計算してみますと、以下のようになります。
7:30のところが2つ共にTRUEになっています。
実際のガントチャートと照らし合わせますと、こちらも7:30のみに着色されているのがわかります。
これが、ガントチャートで色がつく理由です。
4番目のランチが60分あるので、こちらも視覚化してみます。
相対参照の設定も忘れずに!
ガントチャートでセルに色を付けるためには、セルを一つずつ見て判定しています。
そのため、条件付き書式に入力する式は相対参照で入力する必要があります。
オートフィルの機能を使った事がある方はわかると思いますが、比較する元と先は決まっているためその他を見ないように固定する必要があります。
縦軸を見ていく場合は、アルファベット前に$マークを、横軸を見ていく場合は数字の前に$マークを配置します。
これを忘れると、ガントチャートもうまく表示できない場合がありますので忘れずに設定するようにしてください。
まとめ
いかがでしたでしょうか。
今回はガントチャート作成で色がつく仕組みを解説しました。
ポイントをおさらいしますと
- シリアル値の比較
- 比較した結果がTRUEの時に色を塗る
- セル一つずつ判定
です。
ちなみに今回は時間のガントチャートでしたので、条件付き書式の判定式の最後の不等号は=を付けていません。(ガントチャートを7:30なら7:30手前までにするため)
=AND(タイムスケジュール表!$D3<=B$1,タイムスケジュール表!$F3>B$1)
日付のガントチャートを作成する場合は>=とするようにしてください。
コメント