祝日を表示させる

Excel 2021, 2019, 2016 Microsoft 365
Microsoft 365は、バージョン2310で動作確認しています。
解説記事内の画像はExcel for Microsoft 365のものです。

スポンサーリンク

日付が祝日だったらその祝日名をセルに表示させる

このページでは、セルに入力された日付が祝日だったら、その祝日名をセルに表示させる方法をご紹介します。

まず、そもそもExcelは、日本にどんな祝日があるのかを知りません。
なので、「日本にはこういう祝日があるんです」というデータを第3者から引っ張ってくる必要があります
そして、その方法にはいくつかありまして。
どの方法を取るか、かなり悩んだのですが、なるべく第3者のサーバー状況に影響されず、見慣れない画面にビックリしないよう考えた結果、このページでは、内閣府が公表している祝日データをダウンロードして、そこから関数で祝日名を表示させる方法で解説することにしました。

目次

スポンサーリンク

祝日を表示させたい表を準備

祝日を表示させたい表を準備

祝日を表示させたい表を準備します。
練習用データをお使いの方は、このような表が準備されています。

祝日を表示させたい表を準備

月間予定表の作り方
活用術の「エクセル月間予定表の作り方[Step2]」からこのページをご覧になっている方は、祝日を表示させたい表はこうなっています。
A2番地の日付は、ご自身で決めた日付が入力されているはずですので、この図と同じ日付じゃなくても大丈夫。

祝日を表示させたい表で注意すること

これから自分で表を作る方は、下記の点に注意してください。
祝日かどうかを判断させるために、日付データが必須です(この例だとA列)。
また、祝日を表示させる欄も作ってください(この例だとC列)。
他の欄は自由に作ってOKです。

祝日を表示させたい表で注意すること

そして、日付データの表示形式はどうなっていてもOKですが、最低限「日付入力のお作法」にのっとって入力されていないと、Excelが日付データだと理解できないので失敗してしまいます。
(たまに日付を文字データとして入力してしまう方がいらっしゃるので、不安な方は日付入力のお作法のページをご覧いただくことを強くおすすめします。)

また、見た目が断然キレイになるので、この先に進む前にお好みのテーマを選んでおくのが良きです。
(見た目にこだわらない方は、このまま進んでも問題ありません。)
そして、この章で準備した表は保存しておきます
そして、保存後も開いたままにしておいてください。

祝日一覧をダウンロード

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

それでは祝日一覧をダウンロードしていきましょう。
内閣府の「国民の祝日について」のページをスクロールしていくと、CSVファイルがあるのでダウンロードします。
CSVファイルというのは、Excelに限らず、様々なアプリで見ることができる汎用性の高い形式のファイルで、Excelを持っていない人でも中身を見れる形式です。
また、この後の操作で、ダウンロードしたCSVファイル内のデータを、先ほどのExcelファイルに持って行きますので、このCSVファイルをダウンロードする際の保存場所はどこでも構いません。

CSVファイルを開いた

ダウンロードしたCSVファイルをExcelで開くと、「#」がいっぱい表示されていて心配になりますが、まったく心配いりません。
また、上部に「データ損失の可能性」と表示されていても、これからExcelファイルに持って行きますので、そのままで大丈夫です。

祝日一覧のシート見出しを右クリック

ダウンロードした祝日一覧のシート見出しを右クリック、[移動またはコピー]をクリック。

シートの[移動またはコピー]

[移動先ブック名]で、前の章で準備しておいた、祝日を表示させたい表のあるファイル名を選択。
このページの練習用データをお使いの方は、そのファイル名となりますし、ご自身で作った表に祝日を表示させたい方はそのファイル名となります。
[挿入先]はどれを選んでもいいのですが、(末尾へ移動)が分かりやすいです。
[コピーを作成する]にチェックを付け、[OK]ボタンをクリックすると、

祝日一覧のシートをコピーできた

祝日を表示させたい表があるファイルに、祝日一覧のシートをコピーできました。
シートを切り替えてみると、同じ文書内に祝日を表示させたい表と、先ほどコピーした祝日一覧があることが分かります。

CSVファイルを閉じる

これ以降の作業は、前の章から引き続き、祝日を表示させたい表がある方の文書だけで操作していくので、ダウンロードしたCSVファイルは閉じてしまってOKです。

祝日一覧を整える

祝日を表示させたい表には、VLOOKUP関数を使って祝日名を表示させるのですが、そのときに、祝日一覧のシートがしっかり整っていると作業が速攻で終わります。
というわけで、まずは祝日一覧のシートを整えます。

シート名の変更

シート見出し

シートのコピーで持ってきた祝日一覧のシート見出しをダブルクリック、

シート名の変更

お好きな名前を入力し、文字カーソルが消えるまでEnterキーで確定します。

シート名は、基本的には好きな名前でいいのですが、この解説を見ながら操作する際、自分で付けた名前と、私がつけた名前とで読み替えに不安がある方は、私がつけた名前と同じにしていただいた方が読みやすいです。
また、このとき、「シート祝日」のように「シート」や「Sheet」やSheetの「S」を名前に含めておくと、操作のときに分かりやすくなります。

テーブルに変換

祝日一覧

シートのコピーで持ってきた祝日一覧をテーブルに変換します。
テーブルに変換しておかないと、あとで数式を組むときに範囲選択が長過ぎるわ、絶対参照にしなきゃいけないわ、いろいろ気を配ることが多くなりすぎて地獄なので、この操作は必須です。

祝日一覧

祝日一覧のデータがあるセルならどれでもいいので、どれか1つのセルを選択し、

[ホーム]タブ

[ホーム]タブの、

[テーブルとして書式設定]

[スタイル]グループにある、[テーブルとして書式設定]をクリック、

テーブルの書式を選択

好みのものを選びます。
ここで表示される一覧は、作業中の文書に設定されているテーマによって色が変わってきますので、この図と同じじゃなくても問題ありません。
月間予定表の作り方
活用術の「エクセル月間予定表の作り方[Step2]」からこのページをご覧になっている方で、予定表をテーブルにしたときと同じように、横罫線のことを気にするべき?とお悩みの方は、まったく気にせずにどれを選んでもOKです。
このテーブル自体が「裏方」の役割のものなので、見た目をさほど気にする必要がないからです。

[テーブルの作成]ダイアログボックス

範囲は自動認識されたもので問題なし。
[先頭行をテーブルの見出しとして使用する]にチェックが付いている状態で[OK]ボタン。

テーブルの書式を選択

テーブルに変換したことで、自動的に列幅も調整され、先ほどの「#」の羅列が解消されました。
あの「#」の羅列は、日付データが列幅が足りずに表示しきれないときに表示されるものなんです。

見出しの編集

見出しの編集

見出しの文字が長いので、もう少しコンパクトにします。
これもお好みなんですが、私は「祝日の日付」と「祝日名」にしました。

テーブル名の変更

テーブル内のどれか1つのセルを選択

後々、このテーブルを数式で使うときのために、テーブル名をわかりやすくしておきましょう。
テーブル内のセルならどれでもいいので、どれか1つのセルを選択。

[テーブルデザイン]タブ

Excel 2021, Microsoft 365
[テーブルデザイン]タブの、
Excel 2019, 2016
[テーブルツール]の[テーブルデザイン]タブの、

[テーブル名]

[テーブル名]に好みの名前を入力します。

[テーブル名]に好みの名前を入力

このとき、「テーブル祝日一覧」のように「テーブル」や「Table」、Tableの「T」を名前に含めておくと、あとで数式を組んだときに分かりやすくなります。
入力したら、文字カーソルが消えるまでEnterキーで確定します。

これで祝日一覧は完成です。

祝日名を表示させる数式

シートを切り替え

それでは、祝日を表示させたい表があるシートに切り替えて

祝日を表示させたい表

実際に祝日を表示させたい表に、祝日名を表示させていきます。

祝日を表示させたい先頭のセル

表の中で、祝日名を表示させたい先頭のセルで考えていきましょう。

祝日を表示させたい表を準備

月間予定表の作り方
活用術の「エクセル月間予定表の作り方[Step2]」からこのページをご覧になっている方は、C2番地に祝日を表示させたいので、C2番地に入力する数式を考えていきます。
考え方と設定方法はまったく同じですので、安心して進めていきましょう。

先頭の日付

この日付を、

テーブル祝日一覧

「テーブル祝日一覧」から探し出し、完全に一致する日付があったら、その2列目のデータを表示する
という、探したいものを一覧表から探し出して、それに対応するデータを表示ということをやりたいので、使う関数はVLOOKUP関数

VLOOKUP関数の数式

今、整理した動きを、VLOOKUP関数で表現すると、

A2番地の日付を、「テーブル祝日一覧」から探し出し、完全に一致する日付があったら、その2列目のデータを表示してね

という意味にできます。

エラーが表示された

ですが、上記の数式だけでは、調べた日付が祝日一覧になかった場合にエラーが表示されてしまいます
もし入力してしまった方は、[元に戻す]ボタンで数式を入力する前の状態に戻しておいてください。

VLOOKUP関数の数式

そこで、エラーとなる場合の表示をどうするか指定できるIFERROR関数と、先ほどのVLOOKUP関数を組み合わせ、上の図のような数式にすれば、

A2番地の日付を、「テーブル祝日一覧」から探し出し、完全に一致する日付があったら、その2列目のデータを表示するけど、その答えがエラーになっちゃう場合には空欄を表示してね

という意味にできます。

数式を手入力する派の方は、この数式のテーブル名やセル番地などをご自身の表に合わせるように変えて入力していただければOK。
数式入力後は、このページの終盤をご覧ください。

=IFERROR(VLOOKUP(A2,テーブル祝日一覧,2,FALSE),"")

私がオススメしているダイアログボックスで設定派の方は、次の章から一緒に操作していきましょう。

IFERROR関数とVLOOKUP関数の設定

ここから先は、適当に[OK]ボタンをクリックしないでください、適当に押すと、確実にハマります。
[OK]ボタンを押してくださいのときだけ押してください

[関数の挿入]ボタン

祝日名を表示させたい先頭のセルを選択し、[関数の挿入]ボタンをクリック。

C2番地を選択

月間予定表の作り方
活用術の「エクセル月間予定表の作り方[Step2]」からこのページをご覧になっている方は、C2番地に祝日を表示させたいので、C2番地を選択し、[関数の挿入]ボタンをクリック。

「IFERROR」を選択

「すべて表示」で「IFERROR」を選択し、[OK]ボタンをクリックします。

IFERROR関数の引数[値]

[値]欄には、このセルでやりたいことを指定します。
実際にやりたいことは、VLOOKUP関数での祝日名の表示ですから、この[値]欄にVLOOKUP関数を入れていきます。
[値]欄にカーソルがある状態で、

数式バーで「VLOOKUP」を選択

数式バーの左端にある[▼]をクリック。
表示された一覧の中に「VLOOKUP」が表示されている方は「VLOOKUP」をクリック。
表示されていない方は、「その他の関数」をクリックし、

ダイアログボックスで「VLOOKUP」を選択

[すべて表示]で「VLOOKUP」を選択し、[OK]ボタンをクリックします。

IFERRORの中にVLOOKUPが入った

IFERRORの数式の中に、VLOOKUPが入り、ダイアログボックスもVLOOKUPのものに切り替わりました。

VLOOKUP関数の数式

やりたいことは、
A2番地の日付を、「テーブル祝日一覧」から探し出し、完全に一致する日付があったら、その2列目のデータを表示する
ですから、それぞれの欄に設定するものは一目瞭然!
早速、指定していきましょう。

VLOOKUP関数の引数[検索値]

[検索値]にカーソルがあることを確認し、

[検索値]に「A2」を指定できた

A2番地をクリックすると、[検索値]に「A2」を指定できました。

[検索値]に「A2」を指定できた

月間予定表の作り方
活用術の「エクセル月間予定表の作り方[Step2]」の作業中の方は、関数を設定しているこの表自体がテーブルになっているので、A2番地を選択すると、ダイアログボックスの[検索値]欄に
[@日付]
と表示されます。
これは、テーブルならではの数式の表現方法で、「現在数式を設定しているセルと同じ行にある"日付"欄のセル」という意味になります。
見出しの名前を使って表現してくれるので分かりやすいですね。
続いて、Tabキーを押すか、

VLOOKUP関数の引数[範囲]

[範囲]欄でクリックして、[範囲]欄にカーソルを移したら、

シート見出し

祝日一覧のテーブルを指定するため、そのテーブルがあるシート見出しをクリック。

テーブルを選択するマウスポインターの形

祝日一覧のテーブルの、見出しの内側・左上にマウスポインターを合わせると、このような小さな斜め黒矢印になります。
斜めにならない方は、テーブルの一番左上かつ、見出しの「内側」を狙ってください。
見出しの「外側」ではありません。
どうしてもうまくできない方は、今後のためにも「テーブル使いのための長すぎる列・行・テーブルの全選択」を最初にご覧いただくと安心です。

見出しを除いたテーブル全体を選択

この小さな斜め黒矢印の形でクリックすると、祝日一覧の、見出しを除いたテーブル全体が選択できます。

見出しを含めた選択になってしまった

このとき、マウスを扱う手元が狂って、もう一度クリックしてしまうと、見出しも含めて範囲選択されてしまいます。

見出しを除いたテーブル全体を選択

VLOOKUP関数の[範囲]には、見出しは含めませんので、含まれてしまった方は、もう一度クリックすれば見出しを含めない範囲選択になります。

答えとして表示させたいのはこの一覧表の2列目

さて、VLOOKUP関数の答えとして表示させたいのは、この一覧表の2列目にある祝日名。
というわけで、Tabキーを押すか、

[列番号]を入力

[列番号]欄でクリックして、[列番号]欄にカーソルを移したら、半角で「2」とキーボードを使って入力します。
(この[列番号]にカーソルを移した時点で、シートが切り替わりますが心配いりません。)
続いて、Tabキーを押すか、

VLOOKUP関数の引数[検索方法]

[検索方法]欄でクリックして、[検索方法]欄にカーソルを移すのですが、表示がぐちゃぐちゃになっていて心配になります。
これは、IFERROR関数の中にVLOOKUP関数を入れたことで、Excelの表示が追い付いていないだけなので心配いりません。

VLOOKUP関数の引数[検索方法]に「FALSE」と入力

今回は、A2番地の日付が「テーブル祝日一覧」にあるかどうかExcelに探し出してもらうわけですが、完全に一致するものを探すのか、一番近いデータを探すのかを指定するのがこの欄。
完全一致のものを探し出してほしいので、半角で「FALSE」と入力します。
「false」のように半角小文字で入力しても構いません。

ここまでは、VLOOKUP関数で祝日名を表示させる設定をしたわけですが、今度は該当する日付が祝日一覧にはなかった場合のことを指定していきましょう。
VLOOKUP関数自体の設定は終わっていますので、最初のIFERROR関数のダイアログボックスに戻るべく、

数式バーの「IFERROR」でクリック

数式バーで「IFERROR」の文字のところをクリックすると、ダイアログボックスがIFERRORのものに切り替わりました。

IFERROR関数の引数[エラーの場合の値]にカーソルを入れる

残るは、[エラーの場合の値]。
[エラーの場合の値]欄でクリックして、文字カーソルを入れます

IFERROR関数の引数[エラーの場合の値]

この欄には、指定した日付が祝日一覧になかった場合にどうしたいか、つまり祝日ではなかった場合の表示を指定します。
祝日ではなかった場合、特に何も表示させたくないので、空欄を意味するダブルクォーテーションを2つ、半角で入力します。

キーボードでダブルクォーテーションの入力

ダブルクォーテーションは、Shiftキーを押したまま、図のキーで入力できるので、これを半角で2つ入力するというわけです。

[OK]ボタン

これで、IFERROR関数、VLOOKUP関数、両方のすべての欄を指定し終えたので、最後に[OK]ボタンをクリックすると、

答えとして表示させたいのはこの一覧表の2列目

数式を設定することができました!
中には、数式を設定したのに何も表示されなくてビックリした方もいらっしゃるかもしれません。
A2番地の日付が祝日でなければ、空欄で表示されますが、数式がちゃんと入っていることは、数式バーで確認できます。

オートフィルで数式をコピーできた

月間予定表の作り方
活用術の「エクセル月間予定表の作り方[Step2]」の作業中の方は、図のような数式になります!
数式の[@日付]の部分が、A2になっている方もいらっしゃるはず。どちらでも全く問題ありません
そして、祝日名が何も表示されていなくても大丈夫。
A2番地の日付が祝日でなければ、空欄で表示されます
それでは、月間予定表の作り方[Step2]作業中の方は、ここで元のページに戻ります。

エクセル月間予定表の作り方[Step2]に戻る

オートフィル

残りのセルにも、この数式をコピーしたいので、数式を入力したセルを選択した状態で、オートフィルをかければ、

オートフィルで数式をコピーできた

数式をコピーできました!
祝日の日付のところには、祝日名が表示されています!
あとはお好みで中央揃えを設定しても良いかも。

オートフィルで数式をコピーできた

さらに、祝日のところに色を付けたい場合には、「祝日に自動色付け」をご覧ください。

スポンサーリンク

目次へ
ページ先頭へ