概要
Excelで「日付を正規化」するとは、文字列や不完全な日付情報を、Excelが正しく理解できる“日付型”に変換することです。その最短ルートが DATE関数。DATEは「年・月・日」を数値で指定することで、必ず正しい日付シリアル値を返します。月や日が範囲外でも自動調整されるため、安心して使えます。
基本の使い方
書式
=DATE(年, 月, 日)
- 年 → 西暦(例:2025)
- 月 → 1〜12(範囲外でも自動補正)
- 日 → 1〜31(範囲外でも自動補正)
例
=DATE(2025,12,17) // 2025年12月17日
具体例
文字列から分解して正規化
セルA2に「2025」、B2に「12」、C2に「17」が入っている場合:
=DATE(A2,B2,C2)
→ 2025/12/17 として正規の日付型に。
月や日が範囲外でも自動補正
=DATE(2025,13,5)
→ 2026年1月5日(13月は翌年1月に補正)。
=DATE(2025,2,30)
→ 2025年3月2日(2月30日は存在しないため自動補正)。
応用テンプレート
年・月・日を別セルから組み合わせて日付化
=DATE($A2,$B2,$C2)
A列=年、B列=月、C列=日を正規の日付に。
年月だけを持つデータから「月初日」を作る
=DATE(A2,B2,1)
A2=2025、B2=12 → 2025/12/01。
年月だけを持つデータから「月末日」を作る
=EOMONTH(DATE(A2,B2,1),0)
A2=2025、B2=12 → 2025/12/31。
シリアル値を日付に変換(文字列から安全に)
=DATEVALUE("2025/12/17")
DATEVALUEは文字列を日付型に変換。DATEと組み合わせて正規化に使えます。
よくあるつまずきと対策
文字列のままでは計算できない
“2025/12/17” のような文字列は日付型ではありません。DATEVALUEやDATEで正規化してください。
月や日が範囲外でもエラーにならない
DATEは自動補正します。安心ですが、意図しない補正が起きないよう注意しましょう。
年の扱い
2桁の年(例:25)は環境依存で解釈が変わることがあります。必ず4桁で指定しましょう。
表示形式と実値の違い
DATEで作った日付はシリアル値。見やすくするにはセルの表示形式を「yyyy/mm/dd」などに設定してください。
例題
問題1: A2=2025、B2=12、C2=17 のとき、正規の日付をD2に表示してください。
=DATE(A2,B2,C2)
問題2: 「2025年13月5日」を正規の日付に変換してE2に表示してください。
=DATE(2025,13,5)
問題3: 「2025年2月30日」を正規の日付に変換してF2に表示してください。
=DATE(2025,2,30)
問題4: A2=2025、B2=12 のとき、その月の「月初日」をG2に表示してください。
=DATE(A2,B2,1)
問題5: A2=2025、B2=12 のとき、その月の「月末日」をH2に表示してください。
=EOMONTH(DATE(A2,B2,1),0)
まとめ
DATE関数は「年・月・日」を数値で渡すだけで、必ず正しい日付型に変換してくれる強力な関数です。範囲外の月や日も自動補正されるため、文字列や不完全なデータを正規化するのに最適。月初・月末の計算や他関数との組み合わせで、日付処理がシンプルかつ堅牢になります。
