Microsoft ExcelのIF関数は、与えられた条件に基づいて異なる結果を返すことができる強力な機能です。特に、日付を扱う場合、IF関数を使用して特定の日付や期間に基づいて判定を行うことができます。この記事では、ExcelのIF関数を使用して日付を判定する方法を詳しく説明します。具体的な例を通じて、IF関数と日付関数の組み合わせ方を解説し、ビジネスや日常のタスクで活用できる知識を提供します。
Excel IF関数で日付を判定する方法
ExcelのIF関数は、条件に応じて異なる結果を返すことができる強力な関数です。日付の判定もIF関数を使用することで簡単に実現できます。この記事では、IF関数を利用して日付を判定する方法を詳しく説明します。
IF関数の基本構文
IF関数の基本構文は以下のようになります。 IF(条件, 真の場合の値, 偽の場合の値) 条件が真(TRUE)の場合は「真の場合の値」が返され、偽(FALSE)の場合は「偽の場合の値」が返されます。
日付の比較
日付を比較するには、日付をシリアル値に変換してから比較を行います。Excelでは、日付は1900年1月1日を1として、1日ごとに1ずつ増えるシリアル値で表されています。 例えば、今日の日付が特定の日付より未来かどうかを判定するには、以下のように記述します。 =IF(TODAY()>DATE(2023,1,1), 未来, 過去または今日) この式では、TODAY()関数で今日の日付を取得し、DATE(2023,1,1)で指定した日付と比較しています。
複数の条件を組み合わせる
複数の条件を組み合わせて日付を判定する場合、ANDやOR関数を使用します。 例えば、指定した期間内にあるかどうかを判定するには、以下のように記述します。 =IF(AND(TODAY()>=DATE(2023,1,1), TODAY()<=DATE(2023,12,31)), 期間内, 期間外) この式では、TODAY()関数で今日の日付を取得し、DATE(2023,1,1)とDATE(2023,12,31)で指定した期間と比較しています。
曜日を判定する
曜日を判定するには、WEEKDAY関数を使用します。WEEKDAY関数は、日付に対応する曜日を数値で返します(1:日曜日、2:月曜日、…、7:土曜日)。 例えば、今日が週末かどうかを判定するには、以下のように記述します。 =IF(OR(WEEKDAY(TODAY())=1, WEEKDAY(TODAY())=7), 週末, 平日) この式では、TODAY()関数で今日の日付を取得し、WEEKDAY関数で曜日を判定しています。
日付から特定の期間を加算・減算する
日付から特定の期間を加算・減算するには、日付に整数を加算・減算します。 例えば、今日から30日後の日付を取得するには、以下のように記述します。 =TODAY()+30 また、今日から3ヶ月前の日付を取得するには、以下のように記述します。 =EDATE(TODAY(), -3) EDATE関数は、指定した日付から指定した月数だけ前・後の日付を返します。
関数 | 説明 |
---|---|
IF | 条件に応じて異なる結果を返す |
TODAY | 今日の日付を取得する |
DATE | 年、月、日にちから日付を生成する |
AND | 複数の条件がすべて真の場合にTRUEを返す |
OR | 複数の条件のうちいずれかが真の場合にTRUEを返す |
WEEKDAY | 日付に対応する曜日を数値で返す |
EDATE | 指定した日付から指定した月数だけ前・後の日付を返す |
よくある質問
ExcelのIF関数を使って、特定の日付が過去か未来かどうかを判定するにはどうしたらいいですか?
Excelで日付を判定するには、IF関数を活用します。例えば、セルA1に判定したい日付が入力されている場合、以下の式を使用します:=IF(A1<TODAY(),過去,未来)。この式では、A1の日付が今日の日付よりも前の場合、「過去」と表示され、そうでない場合は「未来」と表示されます。ここで、<は「よりも前」という条件を表しています。同様に、>を使えば、「よりも後」という条件にも対応できます。
ExcelのIF関数を使って、特定の日付が指定した範囲内にあるかどうかを判定するにはどうしたらいいですか?
指定した範囲内にあるかどうかを判定するには、IF関数とAND関数を組み合わせて使用します。例えば、セルA1に判定したい日付が入力されており、範囲が2023年1月1日から2023年12月31日の場合、以下の式を使用します:=IF(AND(A1>=DATE(2023,1,1),A1<=DATE(2023,12,31)),範囲内,範囲外)。この式では、A1の日付が2023年1月1日以降且つ2023年12月31日以前である場合、「範囲内」と表示され、そうでない場合は「範囲外」と表示されます。
ExcelのIF関数を使って、特定の日付が平日か休日かどうかを判定するにはどうしたらいいですか?
Excelでは、WEEKDAY関数を利用して、特定の日付が平日か休日かを判定することができます。例えば、セルA1に判定したい日付が入力されている場合、以下の式を使用します:=IF(WEEKDAY(A1,2)<6,平日,休日)。この式では、WEEKDAY(A1,2)によって、A1の日付が月曜日を1、火曜日を2、…、日曜日を7として返されます。その結果が6より小さい場合、「平日」と表示され、そうでない場合は「休日」と表示されます。
ExcelのIF関数を使って、特定の日付から今日までの経過日数を計算するにはどうしたらいいですか?
特定の日付から今日までの経過日数を計算するには、IF関数ではなく、DATEDIF関数を使用します。例えば、セルA1に特定の日付が入力されている場合、以下の式を使用します:=DATEDIF(A1,TODAY(),D)。この式では、A1の日付から今日までの日数が計算されます。DATEDIF関数の第三引数にDを指定することで、経過日数が日単位で返されます。

私は、生産性向上に情熱を持つデータ分析とオフィスツール教育の専門家です。20年以上にわたり、データ分析者としてテクノロジー企業で働き、企業や個人向けのExcel講師としても活動してきました。
2024年、これまでの知識と経験を共有するために、日本語でExcelガイドを提供するウェブサイト**「dataka.one」**を立ち上げました。複雑な概念を分かりやすく解説し、プロフェッショナルや学生が効率的にExcelスキルを習得できるようサポートすることが私の使命です。