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

「検査対象セルが祝日ならば○、そうでないならば×を表示させる」といった処理を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
タイトルとURLをコピーしました