今回は、Excelで作成したカレンダーに祝日を反映させる方法をご紹介いたします。
カレンダー作成基礎では
- スピンボタンで月を変更
- 当月の日付だけを表示
- カレンダーに祝日を表示 ←今回の記事
- カレンダーの土日祝に書式設定
4つの記事で構成されております。
- 祝日シートを作成する(こちらがおすすめ!)
⇒毎年祝日一覧シートを更新する手間はありますが、VLOOKUP関数が使えるバージョンであればネット環境がなくても確実に祝日を表示させることができます。 - WEBSERVICE関数を利用する
⇒祝日一覧シートを更新する手間はありませんが、ネットに繋がっていない場合はエラーが表示されてしまいます。また、ネットに繋がっていたとしてもサーバーに制限がかかってしまいエラーが表示される場合もあります。
祝日を反映させる方法1:祝日シートを作成する
祝日シートを作成
まず、カレンダーフォーマットシートの横に新規シートを作成します。
[Shif]+[F11]を同時に押しても新規シート追加できるで!
新規シートのA列に日付、B列に祝日を入力します。
ブラウザで検索すると祝日一覧が取得できます。
下記のサイトではボタン1つでエクセルシートに祝日一覧がコピーできます。
(不要な曜日列等は削除してください)
ちなみに祝日一覧のシート名は任意やけど、画像ではシート名を「祝日」に設定してるで。
入力した範囲のどこでもいいので一度クリックし、[Ctrl]+[A]を押して入力範囲を選択します。
左上の枠に「祝日2024」と入力し[Enter]を押します。
これで範囲選択した部分は「祝日2024」という名前になります。
選択した範囲に名前を定義すると、数式内で参照する際にわかりやすくなります。
IFERROR・VLOOKUP関数を組み合わせて祝日を表示
【E2】祝日を表示したい列の1行目に下記の数式を入力します。
1 |
=IFERROR(VLOOKUP(C2,祝日2024,2,FALSE),"") |
定義した名前「祝日2024」のままで数式の中に入力できるんやね。
VLOOKUP関数のみだと祝日が見つからない日(祝日以外の日)はエラーとなってしまうので、IFERROR関数でエラーが表示されないように対策をしておきます。
数式を入力したセルを表の下までコピーすると祝日が反映されるようになります。
祝日を反映させる方法2:WEBSERVICE関数を使う
【E2】祝日を表示したい列の1行目に下記の数式を入力します。
1 |
=IF(C2="","",WEBSERVICE("https://api.excelapi.org/datetime/holiday?date="&C2)) |
下記のサイトを参照して祝日を表示しています。
日付列に空白が含まれている場合、WEBSERVICE関数独自のエラーが表示されます。
WEBSERVICE関数の独自エラーはIFERROR関数では対応できないため、IF関数で日付のセルが空白だった場合は祝日の欄も空白にするという処理をしています。
数式を入力したセルを表の下までコピーすると祝日シートなしでも祝日が反映されました。
次回の記事について
次回はいよいよ土日祝に書式設定をしてカレンダーを完成させます!
- スピンボタンで月を変更
- 当月の日付だけを表示
- カレンダーに祝日を表示
- カレンダーの土日祝に書式設定 ←次回の記事
記事更新はX(旧:Twitter)にてお知らせいたしますのでぜひフォローよろしくお願いいたします!
コメント