Excel

ExcelのIF関数で日付を条件にした判定方法|特定の日付以前や以後を判定

Excelでデータを管理する際に、日付を条件に判定したい場面はよくあります。

たとえば、

  • 特定の日付より前のデータだけを抽出したい
  • 今日以降のスケジュールを表示したい

といったケースです。

このような日付に関する条件判定は、ExcelのIF関数を使えば、簡単に実現できます。

この記事では、IF関数を活用して「特定の日付以前」や「特定の日付以後」を判定する方法を、Excel初心者の方にもわかりやすく丁寧に解説します。

記事内容

今回は、ExcelのIF関数で日付を条件にした判定方法を紹介します。

IF関数の基本構文

まず、IF関数の基本的な構文を確認しましょう。

IF関数の書式

=IF(条件, 真の場合の値, 偽の場合の値)

  • 条件: 判定したい条件を指定します。
  • 真の場合の値: 条件が真の場合に返す値。
  • 偽の場合の値: 条件が偽の場合に返す値。

例えば、セルA1の値が100以上の場合に"合格"、それ以外は"不合格"と表示するには以下のように記述します。

=IF(A1>=100, "合格", "不合格")

日付を条件にしたIF関数の使い方

Excelでは日付も実は数値として扱われるため、大小の比較が可能です。これを活用することで、特定の日付以前かどうかを簡単に判定できます。

例1: 特定の日付以前かを判定

たとえば、「2024/12/31」以前の日付かどうかを判定する例で操作手順を紹介します。

判定結果を表示するセル(例:C3)を選択します。(①)

上部メニューの「数式」タブをクリックします。(②)

関数ライブラリ内の「論理」グループを選びます。(③)

「数式」タブの「論理」をクリックする
「数式」タブの「論理」をクリックする

一覧から「IF」関数をクリックします。(④)

「IF」をクリックする
「IF」をクリックする

先ほどの手順でIF関数の入力画面が開いたら、次は「関数の引数」ダイアログボックスで、判定条件を設定していきます。

論理式」の欄に、次のように入力します。(⑤)

B3<=DATE(2024,12,31)

→ これは、セルB3の日付が「2024年12月31日以前」かどうかを判定する数式です。

「論理式」に「B3<=DATE(2024,12,31)」と入力する
「論理式」に「B3<=DATE(2024,12,31)」と入力する

値が真の場合」には、条件を満たしたときに表示したい文字列(例:"期限内" など)を入力します。(⑥)

値が偽の場合」には、条件を満たさなかったときに表示する文字列(例:"期限切れ" など)を入力します。(⑦)

最後に「OK」ボタンをクリックして、関数を確定します。(⑧)

「値が真の場合」と「値が偽の場合」を入力する
「値が真の場合」と「値が偽の場合」を入力する

ここまでの操作で、次のようなIF関数の数式がセルに入力されます。

=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」以前かどうかを自動で判定できるようになります。

「2024/12/31」以前かどうかを判定することができる
「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関数で日付を条件にした判定を効率化

ExcelのIF関数を活用すれば、「特定の日付以前」「特定の日付以後」などの日付条件を簡単に判定できます。

日付を条件にしたデータの抽出・分類は、スケジュール管理や業務データの整理・分析において非常に効果的です。

このテクニックを活用することで、期限チェック・タスクの管理・進捗判定なども自動化でき、日々の業務効率が大幅にアップします。

ぜひ、Excelでの日付管理に役立ててみてください!

Excel関数記事一覧
Excel関数の記事一覧
もっと見る

  • この記事を書いた人

キュリオステーション久米川店

このホームページでは、WordやExcelの便利な使い方や、ちょっとしたコツをわかりやすく解説しています。「こんなことで困っている」「もっと効率的に作業を進めたい」と思ったときにお役に立てる内容を目指していますので、ぜひ記事を参考にしてみてください! また、パソコン教室では記事には書ききれない操作方法や実践的な活用術も学べますので、お気軽にお問い合わせください。

-Excel
-,