休日表示の3回目。今回は「祝祭休日」(以下、祭日と表記します)のセルに自動で背景色を入る方法を紹介します。
祭日は日付が変動するものもあるので、日付固定の祭日、日付が移動する祭日、春分・秋分の日をそれぞれ紹介します。
もくじ
自動で背景色を付ける
自動で色付けを行うには、前回と同じ「条件付き書式」の機能を使います。
「条件付き書式」を使って、セルに背景色を付ける方法は、前回の記事を参考にしてください。
背景色を付ける方法自体は、全く同じで、条件分岐の方法が変わるだけです。
「祭日」の背景色も「日曜日」と同じ赤色で、自動適用させていきます。
日付固定の祭日セルに背景色をつける
まずは、日付が固定されている祭日に、背景色を付ける方法です。
現在の「祭日」については、下記サイトなどを参考に抽出していきます。
実際に抽出した「日付固定の祭日」を、表にまとめたものがこちら。
名称 | 日付 |
---|---|
元旦 | 1月1日 |
建国記念日 | 2月11日 |
昭和の日 | 4月29日 |
憲法記念日 | 5月3日 |
みどりの日 | 5月4日 |
こどもの日 | 5月5日 |
山の日 | 8月11日 |
文化の日 | 11月3日 |
勤労感謝の日 | 11月23日 |
天皇誕生日 | 12月23日 |
この抽出した表から、さらに今回作成しているシフト表用に分かりやすくまとめると
日付 | 月 |
---|---|
1日 | 1月 |
3日 | 5月、11月 |
4日 | 5月 |
5日 | 5月 |
11日 | 2月、8月 |
23日 | 11月、12月 |
29日 | 4月 |
このようになります。
単月のみの祭日の処理
上記の表から、1日、4日、5日、29日のセルは、それぞれ単月のみとわかります。
この日付のセルに設定していきます。
1日から20日までの設定
例として、1日の設定をしていきます。
1日の背景色を付ける範囲を選択します。
ホームタブの「条件付き書式」から、「新しいルール(N)…」を開き、「数式を使用して、書式設定するセルを決定」を選択します。
数式欄には、下記のように入力します。
=MONTH($D$5)=1
書式(F)…を押します。
「塗りつぶし」タブの「背景色(C):」から、任意の色を選びます。色は好みでわかりやすい色を選んでください。
OKを押して、設定を保存です。
これで、1日の祭日設定ができました。
21日から月末までの設定
21日〜月末までは、前月となりますので、入力した月より「−1」する必要があります。
29日の設定を例に見てみましょう。
29日のセル範囲を選択して、ホームタブの「条件付き書式」から、「新しいルール(N)…」を開き、「数式を使用して、書式設定するセルを決定」を選択します。
数式欄には、下記のように入力します。
=MONTH($D$5)-1=4
「セル D5 から 1 引いた月が、4月ならば」という、条件分岐になります。
ここまで入力した状態で、「条件付き書式」から「ルールの管理(R)…」を確認してみると、
このようになっているはずです。
上から、いま入力した祭日設定、2番めに網掛けの設定、3番目に日曜日の設定です。
複数月の祭日の処理
同じ日に別々の月の祭日がある場合の設定方法です。
1日から20日までの設定
例として、5月と11月に祭日がある、3日の設定をしていきます。
3日の背景色を付ける範囲を選択します。
ホームタブの「条件付き書式」から、「新しいルール(N)…」を開き、「数式を使用して、書式設定するセルを決定」を選択します。
数式欄には、下記のように入力します。
=OR(MONTH($D$5)=5,MONTH($D$5)=11)
「セル D5 が 5月 または セル D5 が 11月ならば」という、条件分岐になります。
以降の書式(F)…ボタンからの色選択は、上記と同じです。
21日から月末までの設定
23日は、21日〜月末までの範囲にある前月となりますが、12月を含んでいるため、上記の方法の「入力した月より「−1」」では、不具合が生じます。(1月から「-1」しても、12月にはなりません)
ですので、条件分岐の記述方法を今までと少し変えます。
23日の背景色を付ける範囲を選択します。
ホームタブの「条件付き書式」から、「新しいルール(N)…」を開き、「数式を使用して、書式設定するセルを決定」を選択します。
数式欄に、下記のように入力します。
=OR(MONTH($D$5)=1,MONTH($D$5)=12)
「セル D5 が 1月 または セル D5 が 12月ならば」という、記述になっています。
12月の祭日は、1月が入力された時、11月の祭日は、12月が入力されたときに、背景色の書式が起動するようになります。
まとめ
21日から月末までの処理は、とてもミスが起こりやすいです。
12月から1月へまたがるような条件分岐は特に注意しておかないと、まともに動かなくなります。
記述方法を「-1」を付けない方法で統一すると、一貫性が出てミスしにくくなるかと思ったのですが、それでもミスりました。
この記事を書くため、スクショを撮ってるときに、初めてミスに気づきました。
ミスを無くす何か良い方法があったら、教えてください。
次回は、日付が移動する祭日に背景色をつける方法を紹介します。
【Excel2010】最小限の入力で自動作成するシフト表 第1回【関数】
【Excel2010】最小限の入力で自動作成するシフト表 第2回 日付Part1【関数】
【Excel2010】最小限の入力で自動作成するシフト表 第3回 日付Part2 月末処理【関数】
【Excel2010】最小限の入力で自動作成するシフト表 第4回 曜日Part1 平常日【関数】
【Excel2010】最小限の入力で自動作成するシフト表 第5回 曜日Part2 月末処理【関数】
【Excel2010】最小限の入力で自動作成するシフト表 第6回 シフトPart1 通常週【関数】
【Excel2010】最小限の入力で自動作成するシフト表 第7回 シフトPart2 月度始め【関数】
【Excel2010】最小限の入力で自動作成するシフト表 第8回 シフトPart3 月末処理1【関数】
【Excel2010】最小限の入力で自動作成するシフト表 第9回 シフトPart4 月末処理2【関数】
【Excel2010】最小限の入力で自動作成するシフト表 第10回 シフトPart5 月初処理【関数】
【Excel2010】最小限の入力で自動作成するシフト表 第11回 休日表示Part1【関数】
【Excel2010】最小限の入力で自動作成するシフト表 第12回 休日表示Part2【関数】
【Excel2010】最小限の入力で自動作成するシフト表 第13回 休日表示Part3【関数】
【Excel2010】最小限の入力で自動作成するシフト表 第14回 休日表示Part4【関数】
【Excel2010】最小限の入力で自動作成するシフト表 第15回 休日表示Part5 最終回【関数】