対象のセルが祝日であるかどうか、を検査する論理式

「検査対象セルが祝日ならば○、そうでないならば×を表示させる」といった処理をIF関数で実現させるときの、論理式欄への設定内容をご紹介します。

事前に祝日リストを作成しておきます。また左の列には「国民の祝日月日」という名前を設定しておきます(範囲名)。

参考:「国民の祝日について – 内閣府

国民の祝日・休日月日国民の祝日・休日名称
2023/01/01元日
2023/01/02休日
2023/01/09成人の日
2023/02/11建国記念の日
2023/02/23天皇誕生日
2023/03/21春分の日
2023/04/29昭和の日
2023/05/03憲法記念日
2023/05/04みどりの日
2023/05/05こどもの日
2023/07/17海の日
2023/08/11山の日
2023/09/18敬老の日
2023/09/23秋分の日
2023/10/09スポーツの日
2023/11/03文化の日
2023/11/23勤労感謝の日
2024/01/01元日
2024/01/08成人の日
2024/02/11建国記念の日
2024/02/12休日
2024/02/23天皇誕生日
2024/03/20春分の日
2024/04/29昭和の日
2024/05/03憲法記念日
2024/05/04みどりの日
2024/05/05こどもの日
2024/05/06休日
2024/07/15海の日
2024/08/11山の日
2024/08/12休日
2024/09/16敬老の日
2024/09/22秋分の日
2024/09/23休日
2024/10/14スポーツの日
2024/11/03文化の日
2024/11/04休日
2024/11/23勤労感謝の日

あとは以下の式を作成すれば、「検査対象セル」が祝日の場合に「○」が表示されます。

=IF(COUNTIF(国民の祝日月日,検査対象セル)=1,"○","×")

COUNTIF関数は第一引数の「範囲」から第二引数の「検索条件」の値が何個あるかを数えます。検査対象の日付が祝日一覧に1つ見つかればその日は祝日になるというわけです。

つまり、「検査対象セル」が「国民の祝日月日」の範囲内に1つだけ存在しているかを検査する論理式は

COUNTIF(国民の祝日月日,検査対象セル)=1

となるわけです。この状態に合致すれば「〇」、合致しなければ「×」を表示させるという処理はIF関数で行っています。完成例・具体例をみてみましょう。

日付祝日
2024/9/18×
2024/9/19×
2024/9/20×
2024/9/21×
2024/9/22
2024/9/23
2024/9/24×
2024/9/25×
2024/9/26×
2024/9/27×

セルB2に以下の式をコピーして、最後までコピーする方法が一般的でしょう。祝日に一致すると「〇」が付きます。

=IF(COUNTIF(国民の祝日月日,A2)=1,"○","×")


また、下記の計算式を使用することも可能です。

最新バージョンのExcelで「@A:A」のように記述すると対応するA列の値を採用します。旧バージョンでは「@」を外してください。

=IF(COUNTIF(国民の祝日月日,@A:A)=1,"○","×")

「ファイル:オプション:数式」にある「R1C1参照形式を使用する」チェックをオンにすると以下の形式が使用可能です。Rの次の数値で下方向の距離を指定できます。Cの次の数値で右方向の距離を指定できます。C[-1]は左方向に1つずれた位置のセルを採用する意味です。

=IF(COUNTIF(国民の祝日月日,RC[-1]),"○","×")

上記の表でA列に「日付」という名前を付けておけば下記の指定方法も可能です。対応する「日付」の列が採用されます。

=IF(COUNTIF(国民の祝日月日,@日付)=1,"○","×")

 

コメント

PAGE TOP