Excel(エクセル)の数式を使うと、年と月を入力するだけで自動で表示されるカレンダーを作ることができますが、そこに祝日を自動で入力することはできるのか。今回はその方法を解説します。
祝日を自動で表示させる方法は2通りありますが、今回はWEB上のデータを自動で取得して表示する方法をお伝えします!
以前の記事で作成したカレンダーを使用しています。良ければそちらの記事もご確認ください。
>> 【Excel】年と月を入力するだけで、自動に生成されるカレンダーの作り方! <<
カレンダーに祝日を自動で入力する方法(2通り)
カレンダーに祝日を自動で入力する方法は2つあります。
- 「祝日一覧」を別シートに追加し表示する
(デメリット:1年に1回、祝日一覧の更新が必要) - インターネット上のデータを読み込み表示する『今回はこちらを紹介!』
(デメリット:常時インターネット接続が必要)
目指すカレンダーはコチラ!

当月の祝日は赤くして、前後の月の祝日はグレーに自動でなる、そんなカレンダーを目指します。
【カレンダーに祝日を入れる手順】
- 祝日を入力するセル(行)を追加し、体裁を整える
- セルに数式を入力して、祝日が自動で表示されるようにする
- 条件付き書式で、色を付ける
1.祝日を入力するセル(行)を追加し、体裁を整える
- 日付の下に行を追加する
- 日付と空白行の間の線を消す
- なんでもいいので祝日を入力してみる
- 体裁を整える(文字のサイズやフォントなど)
まずは、日付の下に行を挿入します。

日付の行と、その下の空白行(A3~G4)を選択し、右クリックしセルの書式設定(ctrl +1)を開きます。

セルの間の線を消します。

- 罫線を選択する
- 銭の種類で「なし」を選択する
- 赤い矢印の個所の線をクリックするとせんが消える
5行目6行目の間、7行目8行目の間、、、と日付と空白行の間の線を全て消します。

適当に祝日を入力して、文字のサイズやフォント、配置を調整します。
また、行の高さも調整し、全体的な見栄えも確認します。

次は、実際に数式を入力して祝日を表示します。
2.セルに数式を入力して、祝日が自動で表示されるようにする
まずはA4セルに下記の数式を入力します。
=WEBSERVICE("https://api.excelapi.org/datetime/holiday?date="&A3)


この数式は、
ExcelAPIというサイトのデータからA3セルのデータを検索し、
一致したら対応する祝日名を返す、という数式です。
ExcelAPIは、Excel に取り込むためのデータを提供してくれているサイトです。一部有料となる機能もありますが、カレンダーの祝日表示機能は無料で使用することができ、今回の数式でも使用させていただいています。郵便番号を検索するデータなども提供してくれているので、良ければご参照ください!
そして入力した数式を他のセルに入力する為に、A4セルをコピーし、他の祝日を入力したいセルに数式のみコピーします。これで、祝日がカレンダーに表示されるはずです。(黒字で!)
3.条件付き書式で、色を付ける
まずは、日付を赤色にする条件付き書式を設定します。(ちゃんと変更できているか確認する為、祝日のある月で設定するのをおすすめします)
- 10/14(スポーツの日)のセルB7を選択する
- 条件付き書式で『新しいルール』を選択する
- 「数式を使用して、書式設定するセルを決定」を選択
- 数式【=LEN(B8)>0】を入力する
- 書式設定で文字色を赤に設定する
- 「OK」を押して、10/14が赤色になるか確認する


「=LEN(B8)>0」の”LEN”は文字数をカウントする関数です。
B8に入力されている文字数が0以外だったら、書式を変更するという意味になります。
日付が赤色になるのを確認したら、条件付き書式の範囲を広げます。
- 条件付き書式の「ルールの管理」を選択する
- 先ほど作成した赤字になるルールの適用先を確認する
(ルールが見つからない場合は、「書式ルールの表示」のところを「このワークシート」に変更してみてください) - 矢印の個所を押すと、セルの選択ができるようになるので、カレンダー内の日付が入力されているセルを全て選択して適用させる
(Ctrlを押しながらA3~G3、A5~G5、、、と選択) - 完了!

同じ作業を、祝日が入力されているセルでも行います。簡単に説明させていただきますね。
- スポーツの日と入力されているB8セルを選択し、条件付き書式の「新しいルール」を選択する
- 「数式を使用して、書式設定するセルを決定」を選択し、数式【=LEN(B8)>0】を入力する
- 書式設定で赤字になるように選択し、完了、文字が赤くなることを確認する
- 条件付き書式の適用範囲を、祝日が入力される予定のセル(A4~G4、A6~G6、、、)に変更する
これで、祝日の”14”と”スポーツの日”が赤く変更されるはず!

条件付き書式を設定するときに、本当は適用させたいセル全てを選択してから数式を入力すると、手順が一つ少なく済むのですが、それをやるとうまくいかないので、面倒ですが、1つのセルに条件を付けてから範囲を広げる事にしました。

条件を設定するセル(B7)と、数式の参照先(B8)が違うから
うまくいかないのかな、と思っています。
条件付き書式の適用順序により表示をなおす
これで、祝日が無事赤色表示されたのですが、このままだと、カレンダーの月以外の日にちも赤色で表示されてしまいます。(例えば、5月のカレンダーにした場合、4/29昭和の日は当月以外なのでグレーにしたいのに赤色表示されてしまいます)

これは、条件付き書式のルールとして、上にあるルールが優先されるため起きてしまうので、ルールの順番を入れ替えます。
条件付き書式で、「ルールの管理」を開き、書式ルールの表示で「このワークシート」を選択すると、このような表示になります。

1⃣…カレンダーの月以外の祝日の名前セルをグレーにするルール
2⃣…祝日の名前が入っているセルを赤にするルール
3⃣…祝日のセルを赤にするルール
4⃣…カレンダーの月以外の日にちセルをグレーにするルール
2⃣と3⃣の赤色にするルールを ▼ を押して下に下げて、1⃣と4⃣が上にいれば(●`・ω・)ゞ<ok!
こうして出来上がったカレンダーがこちら!

まとめ
いかがでしょう!
数式やら条件付き書式やらいろいろ使っていますが、ひとつひとつ見ていれば簡単にできますし、他にも応用が利く機能なので、ぜひ活用してみてください!
WEB上のデータを使わず、別シートに祝日データを用意して祝日を表示する方法はこちらの記事をご覧ください!