Excelでデータを管理する際、日付を条件に判定する場面はよくあります。
たとえば、「特定の日付より前のデータだけを抽出したい」「今日以降のスケジュールを表示したい」などです。
このような日付を条件にした判定には、ExcelのIF関数を使うことで簡単に実現できます。
この記事では、IF関数を活用して「特定の日付以前」「特定の日付以後」を判定する方法を、初心者にもわかりやすく解説します。
IF関数の基本構文
まず、IF関数の基本的な構文を確認しましょう。
例えば、セルA1の値が100以上の場合に"合格"、それ以外は"不合格"と表示するには以下のように記述します。
=IF(A1>=100, "合格", "不合格")
日付を条件にしたIF関数の使い方
日付を条件にする場合、Excelでは日付も数値として扱われます。これにより、大小比較が可能です。
例1: 特定の日付以前かを判定
「2024/12/31」以前かどうかを判定する例で説明します。
判定結果を表示するセル(C3)を選択します。(①)
「数式」タブを選択します。(②)
「論理」をクリックします。(③)
「IF」をクリックします。(④)
「関数の引数」ダイアログボックスが表示されます。
「論理式」に以下の数式を入力します。(⑤)
B3<=DATE(2024,12,31)
「値が真の場合」を入力します。(⑥)
「値が偽の場合」を入力します。(⑦)
OKボタンをクリックします。(⑧)
これで以下のような数式が入力されます。
=IF(B3<=DATE(2024,12,31),"期限内","期限切れ")
- DATE(2024,12,31): 2024年12月31日を指定。
- B3<=DATE(2024,12,31): セルB3の日付が2024年12月31日以前であれば「期限内」を返す。
他のセルにコピーして反映します。
数式をC列全体にコピーするため、セルC3を選択し、表示される右下隅の■をドラッグします。
これで各日付に対して「2024/12/31」以前かどうかを判定することができます。
その他の日付の判定例
例2: 特定の日付以後かを判定
「2024/01/01」以後かどうかを判定する場合は次の通りです。
=IF(A1>=DATE(2024,1,1), "有効", "無効")
例3: 今日以前かを判定
日付条件を動的に設定するには、TODAY関数を使用します。TODAY関数は、現在の日付を返します。
=IF(A1<=TODAY(), "過去の日付", "未来の日付")
例4: 今日以後かを判定
=IF(A1>=TODAY(), "未来の日付", "過去の日付")
よくある質問 (FAQ)
Q1: 異なるセルに入力された日付を比較するにはどうすれば良いですか?
A1: 例えば、セルA1とB1の日付を比較する場合、 =IF(A1>B1,"A1が後の日付","A1が前の日付")
のように記述できます。
Q2: 日付が複数の条件に該当する場合に異なる結果を表示したい場合、IF関数をどのように書けば良いですか?
A2: 複数の条件を判定する場合、IF関数をネスト(入れ子)にするか、SWITCH関数やIFS関数を使用するのがおすすめです。例:
=IF(A1<TODAY(),"過去",IF(A1=TODAY(),"今日","未来"))
Q3: 日付が空白の場合はどう判定したらいいですか?
A3:IF関数をネスト(入れ子)にして =IF(A1="","日付が入力されていません",IF(A1<TODAY(),"過去の日付","未来の日付"))
のように記述できます。
Q4: 日付の範囲(例:2024/01/01~2024/12/31)を判定するにはどう書けば良いですか?
A4: AND関数を使用して、 =IF(AND(A1>=DATE(2024,1,1),A1<=DATE(2024,12,31)),"範囲内","範囲外")
と記述します。
Q5: 曜日も考慮して判定を行いたい場合はどうすれば良いですか?
A5: WEEKDAY関数を組み合わせて、特定の曜日を条件に加えることができます。例えば、 =IF(WEEKDAY(A1,1)=1,"日曜日","他の日")
のように記述します。
まとめ
ExcelのIF関数を使えば、特定の日付以前や以後を簡単に判定することができます。
日付を条件にしたデータの抽出や分類は、スケジュール管理やデータ分析を効率化する上で非常に役立ちます。
ぜひ日常の業務やプロジェクトで活用してみてください!