2023年2月17日【ID:0】
【Excel】条件式で日付を正しく判定
IF文で日付を比較したいけど正しく判定されない…
その多くは「シリアル値で比較していない」のが原因です。
Excelでは、日付はシリアル値という数値で管理されています。
※シリアル値:ある日を基準に1日を1として数えた数値
日付の入力されているセルの表示形式を"標準"にすると数値になります。
※この時に数値にならない場合は、文字列として入力されています。
そこで次のような条件式を書くと、結果は「×」になります。
「44972」という数値は「2023/2/15」を表していますが、"2023/2/15"という文字列ではないです。
これが原因で正しく判定されません。
※「=」ではなく「>=(以上)」や「>(より大きい)」などの不等号を扱う際も同様です。
そのため、日付を比較演算子で比較する場合は、文字列をシリアル値に変換する必要があります。
シリアル値に変換する関数がDATEVALUE関数です。
=DATEVALUE(日付文字列)
実際にDATEVALUE関数を使うと正しく判定されます。
※表示形式は日付形式に戻して問題ないです。
[補足]
セルの日付(シリアル値)と比較する場合は、DATEVALUE関数は不要になります。