- 公開日:
- 更新日:
エクセルで曜日に祝日を表示する方法
この記事では、エクセルで祝日の日付一覧を作成する方法と、曜日一覧に祝の文字を表示する方法について説明します。
祝日の日付一覧の作成については、手入力ではなかなか大変なので、ここでは1~2分でできる簡単な方法を紹介します。
また、曜日の一覧に「祝」の文字が表示されると、Excelのスケジュール表やカレンダーでどの日が祝日かが分かるので便利です。
祝日一覧の作成方法
内閣府などの祝日一覧データをExcelのシートにコピー&ペーストすれば、簡単に祝日の一覧表を作成することができます。
ただし、そのままコピー&ペーストするとフォントなどの書式が元のデータのままになってしまい使いにくいので、Excelのシート上のレイアウトに合わせて調整する方法についても説明します。
ここでは、内閣府の「令和5年(2023年)の国民の祝日」にあるデータを使用して、Excelのシートに祝日の一覧表を貼り付ける方法について解説します。
内閣府 「国民の祝日」についてにアクセスし、国民の名称と日付の一覧を選択し、Ctrl + Cでコピーします。
祝日を貼り付けたいセル(E1)を選択します。
Ctrl + Vを押し、祝日が貼り付けられたことを確認します。
ここで、シート上のフォントに合わせたいので、「(Ctrl)」、「貼り付け先の書式に合わせる」の順に選択します。
選択したセルがシート上のフォントに変更されました。
ここから、選択した祝日を「○○年○○月〇〇日」の表示形式に変更したいので、祝日の日付をすべて選択します。
そのまま右クリックして、「セルの書式設定」を選択します。
「セルの書式設定」ダイアログボックスが表示されました。
表示形式タブ、ユーザー定義、「yyyy"年"m"月"d"日"」の順に選択し、OKボタンを押します。
E列とF列の幅が狭いので、E列とF列およびF列とG列の境界線をそれぞれダブルクリックします。
E列とF列の列幅がそれぞれ文字列の幅に広がりました。
エクセルで曜日に祝日を表示する方法
使用する関数
Excelに入力されているスケジュール表やカレンダーの曜日に祝日を表示させるには、IF関数、ISERROR関数、MATCH関数、TEXT関数を組み合わせて抽出することができます。
例えば、上の図のように、F列の祝日一覧(名前ボックス: 祝日)を参照してB列に祝日の「祝」を含めた曜日を入力したい場合は、「=IF(ISERROR(MATCH(A2,祝日,0)),TEXT(A2,"aaa"),"祝")」の数式を使います。この数式について、以下、4つの関数の書式と数式の仕組みについて解説します。
TEXT関数
TEXT関数は、数値に指定した書式を設定して文字列として変換する関数です。
書式は「=TEXT(値, 表示形式)」で、上図では「TEXT(A2,"aaa")」の部分です。
スケジュールの日付のセル(A2)を表示形式「aaa」で曜日に変換しています。表示形式「aaa」について詳しく知りたい場合は、以下の記事を参照してください。
MATCH関数
MATCH関数とは、指定した範囲内で、探したい数値や文字列の位置の列番号と行番号を返す関数です。
書式は「=MATCH(検索値, 検索範囲, [照合の種類])」で、上図では「MATCH(A2,祝日,0)」の部分です。
スケジュールの日付のセル(A2)を祝日一覧のセル(F2~F18セル)から検索し、それが完全一致(0)するかどうかを確かめています。
ISERROR関数
ISERROR関数とは、ISERROR関数は、指定した値(テストの対象)がエラーであるか否かを判定する関数です。
書式は「=ISERROR(テストの対象)」で、上図では「ISERROR(MATCH(A2,祝日,0)」の部分です。
MATCH関数を使ってスケジュールの日付(A2セル)が祝日一覧(F2~F18セル)と完全一致するかどうかを確認しましたが、完全一致しないものをTRUE、完全一致するものをFALSEとして判定するのがISERROR関数です。
IF関数
IF関数は、特定の条件が満たされる場合に特定の値を返す関数です。
書式は「=IF(論理式,値が真の場合,[値が偽の場合])」で、上図では「=IF(ISERROR(MATCH(A2,祝日,0)),TEXT(A2,"aaa"),"祝")」の数式すべてにあたります。
論理式は「ISERROR(MATCH(A2,祝日,0))」、値が真の場合は「TEXT(A2,"aaa")」、値が偽の場合は「"祝"」にあたります。
つまり、スケジュールの日付のセル(A2)が祝日一覧のセル(F2~F18セル)に当てはまらない場合はTRUEとして通常の曜日(日月火水木金土)が返され、当てはまる場合は祝日(祝)が返されます。
祝日を表示する
上記「使用する関数」セクションでご紹介した4つの関数を使って、曜日(月火水木金土日)の他に「祝」の文字を入力する方法について解説します。
祝日の一覧表を用意します。祝日一覧の作成方法については、上記「祝日一覧の作成方法」セクションを参照してください。祝日の一覧表の日付のセル(F2~F18)を選択し、画面左上の名前ボックスに「祝日」の文字を入力します。
曜日を入力したいセル(B2)を選択します。
数式バーに「=IF(ISERROR(MATCH(A2,祝日,0)),TEXT(A2,"aaa"),"祝")」を入力します。4つの関数の詳しい解説については、上記「エクセルで曜日に祝日を表示する方法」セクションを参照してください。
「2023年1月1日」に対応するB2セルに「祝」の文字が表示されました。B2セルの右下にカーソルを合わせ、真下にドラッグしてオートフィルします。
曜日が入力されているB列で、祝日(1月1日、1月2日、1月9日)に対応するセルに「祝」が表示されるようになりました。
祝日を色分けする
カレンダーやスケジュール帳を平日と土日祝で色分けすると、スケジュールが把握しやすくなり、計画的に行動できるようになります。
しかし、Excelのカレンダーやスケジュール帳のデータ量が多い場合、手作業で祝日を赤に変更するのは大変な作業です。
Excelの条件付き書式を使うと、自動的に祝日を指定して色分けすることができます。Excelで祝日の日付・曜日だけを自動的に赤色にする方法については、以下の記事を参照してください。
また、WEEKDAY関数を使って祝日のセルを白以外の色に塗りつぶすことが可能です。詳しくは、以下の記事を参照してください。