【Excel2010】最小限の入力で自動作成するシフト表 第12回 休日表示Part3【関数】

【Excel2010】最小限の入力で自動作成するシフト表 第12回 休日表示Part3【関数】

Excel_shift_eye

休日表示の3回目。今回は「祝祭休日」(以下、祭日と表記します)のセルに自動で背景色を入る方法を紹介します。祭日は日付が変動するものもあるので、日付固定の祭日、日付が移動する祭日、春分・秋分の日をそれぞれ紹介します。

自動で背景色を付ける

自動で色付けを行うには、前回と同じ「条件付き書式」の機能を使います。

「条件付き書式」を使って、セルに背景色を付ける方法は、前回の記事を参考にしてください。

【Excel2010】最小限の入力で自動作成するシフト表 第11回 休日表示Part2【関数】

背景色を付ける方法自体は、全く同じで、条件分岐の方法が変わるだけです。
「祭日」の背景色も「日曜日」と同じ赤色で、自動適用させていきます。

日付固定の祭日セルに背景色をつける

まずは、日付が固定されている祭日に、背景色を付ける方法です。

現在の「祭日」については、下記サイトなどを参考に抽出していきます。

国民の祝日について – 内閣府

こよみのページ

実際に抽出した「日付固定の祭日」を、表にまとめたものがこちら。

名称 日付
元旦 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 (セル D5 が、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回 休日表示Part1【関数】
【Excel2010】最小限の入力で自動作成するシフト表 第11回 休日表示Part2【関数】
【Excel2010】最小限の入力で自動作成するシフト表 第12回 休日表示Part3【関数】
【Excel2010】最小限の入力で自動作成するシフト表 第13回 休日表示Part4【関数】
【Excel2010】最小限の入力で自動作成するシフト表 第14回 休日表示Part5 最終回【関数】

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする