以前、Excelカレンダー作成に向けて、Excelで曜日を取得する方法についてご紹介しました。
しかし実際に業務で使おうと思うと祝日の情報がないとなんとも中途半端、、、
そこで本日はExcelカレンダーに祝日を追記する方法をご紹介します。
(1) 内閣府よりダウンロードした祝日情報を活用する
(2) WEBSERVICE関数を用いて外部サイト情報をAPIで呼び出す
また、カレンダーといえば土曜が青、休日が赤など色ですぐわかるのが特徴ですよね?
本記事では曜日に応じた色塗りを自動で行い、見やすい営業日カレンダーに昇華する方法も併せてご紹介しちゃいます。
ぜひ最後までお付き合いくださいね♪
関連記事:【図解】Excelで曜日を取得する方法3選+α

Excelカレンダーに祝日を追記する方法2選
(1) 内閣府よりダウンロードした祝日情報を活用する
一つ目の方法は公式で配布されている祝日情報を取り込み、関数で読みだす方法です。
ベーシックな方法ですし、動作も安定するので基本的にはこちらがオススメです。
ダウンロードした「syukujitsu.csv」を開いて、内容を丸ごとカレンダーにしたいExcel側に転記します。
シートコピーでもOKです。下記例はExcel側に「祝日一覧」というシートを作成してコピペしてます。


コピーした内容をExcelファイル側にペースト。

VLOOKUP関数を使って年月日に対する祝日 情報を取得します。
VLOOKUP(検索値,検索範囲,列番号,検索条件)
使い方はこちらの記事で紹介してます。

祝日情報が取得され、「憲法記念日」や「みどりの日」といった情報が表示されましたね。
ただこのままだとNAが表示され、見栄えが悪いので、IFERROR関数を用いてNAの場合は空白となるよう処理してあげます。
IFERROR(値,エラーのときに返す値)
↓はVLOOKUPがエラー(NA)の場合、””(空白)を返すという処理のイメージです。

(2) WEBSERVICE関数を用いて外部サイト情報をAPIで呼び出す
二つ目の方法はややトリッキーな方法で、外部サイト情報を活用して表示させる方法です。
情報が自動でアップデートされるので、新年度の祝日情報を新たにダウンロードする必要がないのが特徴です。
反面、インターネット環境がないとダメ、サイト自体がいつまで存続するかわからないというデメリットもあるので、目的に応じてご活用ください
そもそも以下を満たさないとWEBSERVICE関数自体が使えないのでまずはここから確認します。
・Excel2013以降か?
・インターネット環境があるか?
・件数が一定規模以下か?(1日最大1万件まで)
WEBSERVICE関数はインターネット上の Webサービスからデータを返す関数です。
WEBSERVICE(URL)
ありがたいことに合同会社ハトライズさんが運営しているExcelAPIというサイトでは、様々な便利なデータを保持しておりAPIで読みだすことが可能です。
祝日情報も取得可能ですので、この情報をWEBSERVICE関数でひっぱってきます。
=WEBSERVICE(“http://api.excelapi.org/datetime/holiday?date=”&A2)
※A2のところを日付情報が入っているセルにしてあげてください

無事にAPIで祝日情報を呼び出すことができましたね♪
祝日情報をさらに加工して、営業日カレンダーに昇華しちゃおう
IF関数を使って祝日を反映した曜日情報を作ろう
ここまでで、祝日情報をExcelに反映できたかと思います。
ただ実際の利便性を考えると○○の日といった祝日の中身より、
- 曜日と祝日の情報が合わさった列が欲しい
- 基本は曜日を表示して、祝日の場合は祝日と表示したい
といったことが、ニーズとしては強いですよね。
これはIF関数で簡単に実現可能ですのでサクっとやっちゃいましょう♪

例では祝日が””(空白)なら祝を、そうでなければ元々の曜日を表示してますが、お好みで日・祝をまとめて休日とするなど、実体にあった形で調整してくださいね!
土日祝日に色塗りをし、営業日を一目でわかるようにしよう
カレンダーといえば色で休みかどうか、ぱっとわかるのが特徴ですよね。
ここからは条件付き書式を使って平日以外は色塗りすることで、営業日カレンダーへと昇華させちゃいます。
なお条件付き書式の詳細は別記事で紹介しているので、ここでは具体的な方法のみご紹介です。

<完成イメージ>




選択した対象範囲の一番上の曜日のセルを選択(今回の例だとD2)
絶対参照を複合参照に変更($D$2⇒$D2)※これを忘れると上手く色付けできないので注意!
・今回はD列のみでなくA~C列も色付けしたいため、絶対参照を複合参照に変更する
・仮にD列だけ塗ればよければ、絶対参照のままでOK
最終的には「=$D2=”土”」という式になればバッチリです!




まとめ:Excelカレンダーに祝日を追記する方法と色塗り方法
本記事ではExcelカレンダーに祝日を追記する方法2選をご紹介しました。
(1) 内閣府よりダウンロードした祝日情報を活用する
(2) WEBSERVICE関数を用いて外部サイト情報をAPIで呼び出す
また条件付き書式を活用した色塗り方法も併せて紹介しておりますのでぜひ実務で使ってみてください♪