VLOOLUP関数でカレンダーに祝日を表示
祝日のデータベースを入手
2020年の祝日データは下記のサイトを参考にしました。
VLOOKUP関数を利用するため、日付を左端に編集しています。
日付 | 名称 | 備考 |
2020/1/1 | 元日 | |
2020/1/13 | 成人の日 | |
2020/2/11 | 建国記念の日 | |
2020/2/23 | 天皇誕生日 | |
2020/2/24 | 休日 | 祝日法第3条第2項による休日 |
2020/3/20 | 春分の日 | |
2020/4/29 | 昭和の日 | |
2020/5/3 | 憲法記念日 | |
2020/5/4 | みどりの日 | |
2020/5/5 | こどもの日 | |
2020/5/6 | 休日 | 祝日法第3条第2項による休日 |
2020/7/23 | 海の日 | |
2020/7/24 | スポーツの日 | |
2020/8/10 | 山の日 | |
2020/9/21 | 敬老の日 | |
2020/9/22 | 秋分の日 | |
2020/11/3 | 文化の日 | |
2020/11/23 | 勤労感謝の日 |
このデータを利用して、カレンダーのブックにシート「2020年祝日一覧」を作成し、貼り付けています。
また、セル範囲「A2:B19」のセル範囲に「祝日」という名前を設定しています。
IFERROR関数とVLOOKUP関数で祝日を表示する数式を作成
祝日データベースの用意ができましたら、いよいよ祝日を表示する数式を入力します。
ここでは、「IFERROR関数」と「VLOOKUP関数」を利用します。
セル「C2」に以下のような数式を入力します。
=IFERROR(VLOOKUP(A2,祝日,2,FALSE),"")
数式の意味を簡単に説明すると「IFERROR(VLOOKUPでA2セルの日付がデータ範囲「祝日データ」があれば「祝日データ」の2列目を表示,該当する日付がなければ(エラーの場合)は空白(””)を表示」という意味です。
すると、下図のように2020年1月1日には「元日」と表示されました。
作成した数式をコピーして完成
先ほど作成した「C1」セルの数式を該当するセル(下図)に貼り付けます。
すると下図のように2020年1月と2月の祝日が表示されました。
祝日に色をつけるには少し工夫が必要
この後、祝日を含んだ日付のフォントを赤に変更するには少し工夫が必要です。
ここでは、「成人の日」である2020年1月13日のセル、「A14」セルで新しいルールを追加をします。
「次の数式を満たす場合に値を書式設定」の欄の数式は
=COUNTIF(祝日,C2)>=1
としています。
これは、隣接するC2セルの内容が、リスト範囲である「祝日」内に1つ以上含まれている場合を表しています。1つ以上にしているのは、振替休日である「休日」という祝日が2つ以上含まれている場合を想定して「>=1」としています。
下図のように、2020年1月13日の日付が赤くなりました。
同様に、B14セルの条件付き書式を追加します。
下図のように追加してください。
その後、A14~B14セルの書式を各セルにコピー貼り付けをすると、下図のように祝日の色も変更され、今回のカレンダーは完成しました。
エクセルでカレンダーの作成は簡単にできる
エクセルでカレンダーを作成することは、コツを掴めば簡単に作成できます。
今回は単に土日と祝日のセルに、「条件付き書式」を利用して色を付ける方法を紹介しましたが、永年使用可能な次の記事のカレンダーでも表示が可能です。
また、上記のカレンダーで月を変更しても自動で「祝日」が表示される方法を記事にしたいと思います。
エクセルでカレンダーを作成してこういうことがしたいなどのリクエストや、疑問点ががありましたら、コメントいただけたら記事にしたいと思います。
追記:VBAを駆使して、万年カレンダーに祝祭日自動表示、予定も書き込めるタイプの違う2種類のエクセルファイルをアップしました。
ぜひご覧ください。
コメント