ExcelのDATE関数の使い方|年・月・日から日付を作成する方法

スポンサーリンク

「年・月・日がバラバラのセルに入っているけど、これを1つの日付にまとめたい」と思ったことはありませんか。手入力で日付を打ち直すのは手間ですし、ミスのもとにもなりますよね。

ExcelのDATE関数を使えば、年・月・日の数値を指定するだけで正しい日付を作成できます。この記事では基本の書き方から、月末日の算出や○ヶ月後の計算といった実務パターンまでまとめて紹介します。

この記事は次のような人におすすめ

  • 年・月・日が別セルに分かれたデータを日付にまとめたい
  • 月末日や○ヶ月後の日付を数式で自動計算したい
  • DATE関数とTODAY関数・EOMONTH関数の違いを整理したい

DATE関数とは?

DATE関数(読み方: デイト)は、年・月・日の3つの数値を指定して日付のシリアル値を返す関数です。英語の「date(日付)」がそのまま関数名になっています。

Excelでは日付を内部的に「シリアル値」という数値で管理しています。1900年1月1日を「1」として、1日ごとに1ずつ増える仕組みです。たとえば2025年4月1日のシリアル値は「45748」です。

DATE関数が返すのもこのシリアル値ですが、セルの表示形式が自動的に「日付」に切り替わるため、見た目は 2025/4/1 のように表示されます。

DATE関数の書き方(構文と引数)

基本構文

=DATE(年, 月, 日)

引数は3つとも必須です。省略するとエラーになります。

引数の説明

引数必須/省略可内容
必須西暦の年を数値で指定(1900〜9999)。0〜1899を指定すると自動的に1900が加算される
必須月を数値で指定(通常1〜12)。13以上や0・負の値も指定可能(後述)
必須日を数値で指定(通常1〜31)。32以上や0・負の値も指定可能(後述)

NOTE

年に0〜1899を指定すると、自動で1900が加算されます。たとえば =DATE(24,4,1)2024/4/1 ではなく 1924/4/1 になります。西暦は4桁で指定するのが安全です。

DATE関数の基本的な使い方

数値を直接指定して日付を作る

もっともシンプルな使い方です。年・月・日を直接数値で指定します。

=DATE(2025, 4, 1)

結果: 2025/4/1

シリアル値「45748」が返り、セルには日付形式で表示されます。

別セルの値から日付を組み立てる

A1に「2025」、B1に「4」、C1に「1」が入っている場合、次のように書きます。

=DATE(A1, B1, C1)

結果: 2025/4/1

年・月・日がバラバラの列に入っているデータを1つの日付にまとめたいときに便利です。CSVから取り込んだデータの整形でよく使うパターンですよ。

シリアル値を確認する

DATE関数が返すのはシリアル値です。セルの表示形式を「標準」に変更すると、数値を確認できます。

=DATE(2025, 4, 1)

表示形式「日付」: 2025/4/1
表示形式「標準」: 45748

シリアル値が分かると、日付同士の引き算で日数差を計算できます。

DATE関数の実務活用パターン

年月日を別セルから組み立てる

社員マスターなどで、生年月日が「年」「月」「日」の3列に分かれているケースは多いですよね。DATE関数で1列にまとめましょう。

A列に年、B列に月、C列に日が入っているとします。

=DATE(A2, B2, C2)

結果をオートフィルで下にコピーすれば、全行まとめて日付に変換できます。

月末日を計算する(翌月の0日)

DATE関数は、日に「0」を指定すると前月の末日を返します。この特性を使うと月末日を簡単に計算できます。

=DATE(2025, 5, 0)

結果: 2025/4/30(5月の前月=4月の末日)

つまり「当月の月末日」を求めるなら、月に1を足して日を0にします。

=DATE(A2, B2+1, 0)

A2に「2025」、B2に「4」が入っている場合、結果は 2025/4/30 です。EOMONTH関数でも月末日を取得できますが、DATE関数なら年・月の数値だけで計算できるのがポイントです。

○ヶ月後の日付を求める

月の引数に加減算を入れると、○ヶ月前後の日付を計算できます。

=DATE(2025, 4+3, 1)

結果: 2025/7/1(3ヶ月後)

=DATE(2025, 4-2, 1)

結果: 2025/2/1(2ヶ月前)

月に13以上や0以下の値を指定しても、DATE関数が自動的に年をまたいで計算してくれます。たとえば =DATE(2025, 15, 1)2026/3/1(2025年の15ヶ月目)になります。

TIP

○ヶ月後の同日を正確に求めたい場合はEDATE関数がおすすめです。DATE関数は「年・月・日を個別に制御したい」ときに使い、EDATE関数は「基準日からの月数計算」に使うと役割がはっきりします。

期日・締切日を自動計算する

請求書の支払期日(翌月末など)を自動で計算する例です。A2に請求日が入っているとします。

=DATE(YEAR(A2), MONTH(A2)+2, 0)

結果: A2が 2025/4/15 なら 2025/5/31(翌月末)

YEAR関数MONTH関数で年・月を取り出し、DATE関数で再構成するパターンです。期日管理や締切計算の定番テクニックですよ。

DATE関数とTEXT関数の連携

DATE関数で作った日付を、特定の形式の文字列として表示したい場合はTEXT関数と組み合わせます。

和暦で表示する

=TEXT(DATE(2025,4,1), "ggge年m月d日")

結果: 令和7年4月1日

曜日付きで表示する

=TEXT(DATE(2025,4,1), "yyyy/mm/dd(aaa)")

結果: 2025/04/01(火)

DATE関数の結果はシリアル値なので、TEXT関数の書式コードをそのまま適用できます。「yyyy年m月」のような年月だけの表示や、「m/d」のような短い形式にも対応できます。

よくあるエラーと対処法

DATE関数はエラーが出にくい関数ですが、意図しない結果になるケースがあります。

症状原因対処法
日付ではなく5桁の数字が表示されるセルの表示形式が「標準」のままセルの表示形式を「日付」に変更する
月に13以上を指定したら翌年の日付になったDATE関数の自動繰り上げ機能仕様通り。月が12を超えると自動で年に繰り上がる
日に32以上を指定したら翌月の日付になったDATE関数の自動繰り上げ機能仕様通り。日が月末を超えると翌月に繰り上がる
年に「24」と入れたら1924年になった0〜1899は自動で+1900される西暦は4桁(2024)で指定する
#VALUE! エラーが出る引数に数値以外(文字列など)を指定した数値またはセル参照を確認する。文字列の日付はDATEVALUE関数を使う
#NUM! エラーが出る年に負の値を指定した、または結果が日付範囲外年は0以上を指定する。Excelの日付範囲は1900/1/1〜9999/12/31

NOTE

月や日の自動繰り上げは、DATE関数の便利な仕様です。たとえば =DATE(2025,2,30) は2月30日ではなく 2025/3/2 になります。「月末を超えた分は翌月に繰り上がる」と覚えておくと、意図しない結果を防げます。

似た関数との違い・使い分け

日付を扱う関数はいくつかあります。目的に応じて使い分けましょう。

関数目的使い方の例
DATE年・月・日の数値から日付を作成する=DATE(2025,4,1) → 2025/4/1
TODAY関数今日の日付を自動取得する=TODAY() → 今日の日付
YEAR関数日付から年を取り出す=YEAR(A1) → 2025
MONTH関数日付から月を取り出す=MONTH(A1) → 4
DAY関数日付から日を取り出す=DAY(A1) → 1
EDATE関数基準日から○ヶ月後/前の同日を返す=EDATE(A1,3) → 3ヶ月後
EOMONTH関数基準日から○ヶ月後/前の月末日を返す=EOMONTH(A1,0) → 当月末日
DATEDIF関数2つの日付間の期間を求める=DATEDIF(A1,B1,"M") → 月数
DATEVALUE関数文字列の日付をシリアル値に変換する=DATEVALUE("2025/4/1") → シリアル値

使い分けのポイント

  • 「年・月・日をバラバラに指定して日付を作りたい」→ DATE関数
  • 「今日の日付を自動で入れたい」→ TODAY関数
  • 「基準日から○ヶ月後の同じ日を知りたい」→ EDATE関数
  • 「月末日を求めたい」→ EOMONTH関数(DATE関数の0日テクニックでも可)
  • 「2つの日付の差を知りたい」→ DATEDIF関数

DATE関数は「年・月・日を個別にコントロールできる」のが最大の強みです。YEAR/MONTH/DAY関数と組み合わせて日付の一部だけを変更する使い方も覚えておくと便利ですよ。

まとめ

DATE関数は、年・月・日の数値から日付を作成する関数です。

  • 構文: =DATE(年, 月, 日) ── 3つの引数はすべて必須
  • 戻り値: 日付のシリアル値(表示形式で日付として見える)
  • 自動繰り上げ: 月が12を超えると年に、日が月末を超えると翌月に自動調整
  • 実務活用: 別セルの値から日付を組み立てる、月末日の計算(翌月の0日)、○ヶ月後の算出、期日管理
  • 関連関数: TODAY関数EDATE関数EOMONTH関数と目的に応じて使い分ける

日付の計算は実務で頻繁に使うので、DATE関数の「月に+1して日を0にすると月末日」のテクニックは覚えておいて損はないですよ。

関連記事

タイトルとURLをコピーしました