[Excel]祝日をスケジュールに反映させる方法(2:実践)

記事
学び
こんにちは。かづきchanです。
スケジュール表やガントチャートを作成する時、土曜・日曜だけでなく、祝日や会社・学校ごとの休日(年末年始・お盆休みなども含む)を反映させたい事があると思います。
今回はそれを行うための方法や、必要な準備について紹介していきます。

(1:準備)は、必要な準備について説明しました。
(2:実践)では、(1)の準備を元に反映させる方法を紹介していきます。

※その他スケジュール作成関連は、下記の記事にまとめています。

■スケジュールで曜日の代わりに「祝」を表示させる

※今回は基本的に、スケジュールの日付部分が「日付データ」で入っているパターンで説明していきます。他のパターンも基本的にやり方としては同じネスト(入れ子)なので、詳細説明は省かせていただきます。

【1】曜日を引用&書式設定で表示している場合

曜日は書式設定.jpg
上記画像では、下記の状態になっています。
B2セル:「2021/5/1」と入力し、書式設定のユーザー定義で「d」を指定。
B3セルは「=B2」と入力し、同じくユーザー定義で「aaa」を指定。

これを元に、「[Excel]祝日をスケジュールに反映させる方法(1)」で用意した名前「祝日リスト」を使って、祝日の時は「祝」と表示させるには、IF関数とCOUNTIF関数を使いましょう。
数式「=IF(COUNTIF(祝日リスト,【日付のセル番地】),"祝",【曜日を表示させるためのセル番地】)」に当てはめていきます。
すでに、「日付」データを=で引用するだけで曜日が表示されるように、書式設定してありますから、【曜日を表示させるためのセル番地】は、日付が書かれているセル「B$2」になります。

上記画像の表の場合、以下の式をB3セルに入力し右にコピーすればOKです。
=IF(COUNTIF(祝日リスト,B$2),"祝",B$2)
※↑これで反映されないときは、↓これを入力してみてください。
=IF(COUNTIF(祝日リスト[日付],B$2),"祝",B$2)
引用&書式の数式.jpg
5月の祝日「5/3~5/5」には、曜日の代わりに「祝」が表示されました。

【2】曜日を数式のみ(TEXT関数)で表示している場合

曜日はTEXT関数.jpg

上記画像では、下記の状態になっています。
B2セル:「2021/5/1」と入力し、書式設定のユーザー定義で「d」を指定。
B3セルは「=TEXT(B$2,"aaa")」と入力し、書式は「標準」。

こちらも同じく、数式「=IF(COUNTIF(祝日リスト,【日付のセル番地】),"祝",【曜日を表示させるためのセル番地】)」に当てはめていきます。
【曜日を表示させるためのセル番地】は、このパターンの場合、TEXT関数で表示させていますので、「TEXT(B$2,"aaa")」となります。

上記画像の表の場合、以下の式をB3セルに入力し右にコピーすればOKです。
=IF(COUNTIF(祝日リスト,B$2),"祝",TEXT(B$2,"aaa"))
※↑これで反映されないときは、↓これを入力してみてください。
=IF(COUNTIF(祝日リスト[日付],B$2),"祝",TEXT(B$2,"aaa"))
TEXT関数の数式.jpg

■スケジュールの祝日に条件付き書式で背景色をつける

※今回は基本的に、スケジュールの日付部分が「日付データ」で入っているパターンで説明していきます。他のパターンも基本的にやり方としては同じネスト(入れ子)なので、詳細説明は省かせていただきます。

【1】曜日部分にすでに「祝」の文字が入っている場合

先の項目「■スケジュールで曜日の代わりに「祝」を表示させる」で紹介した方法や、その他TEXT関数で表示している場合、手動で「祝」の文字を入れている場合は、土曜・日曜と同じ方法で、条件付き書式を設定すればOKです。
「■曜日が「テキスト」データで書かれている場合」をお試しください。

【2】曜日表示はそのままで祝日に背景色をつけたい場合

曜日表示はそのままで背景色変更.jpg
上記画像ではわかりやすくなる様、日曜と祝日の背景色を変えていますが、
このように、曜日はそのまま表示させたまま背景色を変更させたい場合は、下記の方法をお試しください。

【手順】
1. 条件付き書式を設定したい「曜日」部分をすべて選択する。
※下記画像では、す土日の条件付き書式はすでに設定済みの状態です。
曜日のまま選択.jpg

2. 上部メニュー「ホーム」にある、「条件付き書式」をクリックする。
3. 「新しいルール」をクリックして選択する。
新しいルール.jpg
4. ルールの種類「数式を指定して、書式設定するセルを決定」を選択する。
5. ルールの内容の入力欄に、下記の数式を入力する。
=COUNTIF(INDIRECT("祝日リスト"),B$3)
※↑これで反映されないときは、↓これを入力してみてください。
=COUNTIF(INDIRECT("祝日リスト[日付]"),B$3)

※この入力欄で関数を使う場合、通常のセルとは違い、どういう内容を入力すればいいか等のガイドは表示されませんのでご注意ください。
※”B$3”の部分には、設定したい日付部分の一番左のセル番地を入力します。
祝日用の数式.jpg
6. プレビューの右側にある[書式(F)...]ボタンを押す。
7. セルの書式設定画面が表示されるので、「背景色(C):」の項目で背景色にしたい色をクリックして選択する。
※[その他の色]ボタンから、ここに表示されていない他の色も選べます。
8. [OK]ボタンを押す。
9. 「新しい書式ルール」画面のプレビューに、選んだ色が反映されていることを確認し、[OK]ボタンを押す。
~おわり~

■条件付き書式の優先順位について

スケジュール表で祝日の背景色をつける時、土曜・日曜・祝日とそれぞれ異なる背景色をつける設定にしたい場合、「土曜の祝日は休みだから、祝日の色がいい」「祝日でも土曜日は出勤なので、土曜の色のほうがいい」といった事があります。

その場合は、該当の条件付き書式を設定してあるセルをどれかクリックして選択してから、上部メニュー「条件付き書式」を選択後の項目「ルールの管理」を選択すると「条件付き書式ルールの管理」が表示されるので、
優先順位.jpg
優先順位をかえたい設定を選択後、上部右側にある[▲][▼]ボタンを押して、優先順位を変更し、[OK]ボタンで変更を反映させます。

上記画像では、一番上に祝日の背景色設定(オレンジ)があるので、土曜で祝日の場合はオレンジ色で表示されます。

■あとがき
今回は、条件付き書式を使って、祝日の背景色を自動で変更させる方法について紹介いたしました。
イメージ通りの背景変更設定ができましたでしょうか?

ちなみに一覧を選択して普通に名前を付けた場合、条件付き書式で参照させるときにINDIRECT関数はいらないのですが、今回のようにテーブルの名前を使う場合は必要になるので注意してください。

ブログに書いている内容への感想やご質問等ありましたら、お気軽にメッセージをいただければ幸いです。

※その他スケジュール作成関連やり方は、下記の記事にまとめています。

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す