本ページはプロモーションが含まれています

Excel

EXCEL-DATE関数

DATE関数は、Excelで日付を扱う際にとても便利な基本関数のひとつです。初心者でも使いやすく、業務効率化にも役立ちます。

DATE関数とは?

概要

DATE関数は「年・月・日」を指定して、正しい日付データを作成する関数です。

書式

=DATE(年, 月, 日)

=DATE(2025, 9, 28)
→ 結果:2025/09/28
  • 他の関数と組み合わせることで、動的な日付生成が可能
  • 年・月・日を数値で指定して、正しい日付形式に変換してくれる

Excelはこの日付を「シリアル値」として認識するため、日付の計算や並び替え、関数との連携が可能になります。

Excelにおける「シリアル値」とは?

 シリアル値(Serial Value)とは、Excelが日付や時刻を内部的に管理するために使っている「連番の数値」のことです。
Excelは日付を見た目では「2025/09/28」などと表示しますが、実際には1900年1月1日を「1」として数えた通し番号
で記録しています。

Excelの日付は「見た目」ではなく「数字」で管理されている。
そしてその数字は、1900年1月1日からの『通し番号』。

具体例で理解するシリアル値

表示される日付(表示形式日付)実際のシリアル値(表示形式標準)
1900/01/011
1900/01/022
2025/09/2845928

つまり、2025年9月28日は「45928番目の日」ということになります。

シリアル値に関するちょっとした小話

 実はExcelで日付を扱うとき、裏側では「シリアル値」という連番で管理されています。
たとえば「2025/9/28」は、Excelの世界では「45928番目の日」なんです。
しかも、Excelは「1900年1月1日」を「1」としてカウントしているのですが、実は存在しない1900年2月29日を『うるう年』として数えてしまっているというちょっとしたバグがあります。
そのため、シリアル値で日付を計算すると、1日ズレることがあるんです。

Excelの内部仕様

  • Excelは「1900年がうるう年」と誤認しており、1900年2月29日を存在する日としてカウントしています。
  • 実際のカレンダーには存在しないため、シリアル値が1日分多く進んでしまうのです。
  • このズレはExcelの仕様によるもので、間違いではなく『仕様通り』の動作です
  • 実務では「DATE関数」や「TODAY関数」を使えば正確な日付が得られるので、直接シリアル値を足し引きする場面では注意が必要です

時刻もシリアル値の一部

Excelでは「1日=1.0」として扱うため、時刻は小数点で表現されます。

表示される時刻シリアル値
12:00(正午)0.5
6:00(朝)0.25
18:00(夕方)0.75

たとえば「2025/09/28 12:00」は、44910.5というシリアル値になります。

シリアル値の便利な使い方

  • 日付の差分計算=A2 - A1 で「何日間か」を計算できる
  • 並び替え・フィルター:日付を数値として扱えるので処理が高速
  • 関数との連携TODAY()NOW() などもシリアル値で動作

初心者向けアドバイス

  • セルの表示形式を「標準」にすると、日付がシリアル値として表示されます(驚くかも!)
  • 日付を扱う関数(DATE, TODAY, EOMONTHなど)は、すべてシリアル値をベースに動いています
  • シリアル値を理解すると、日付の自動化・計算・並び替えがスムーズになります

使い方

DATE関数の基本的な使い方

=DATE(2025, 10, 5)
→ 結果:2025/10/05

他の関数と組み合わせることで、動的な日付生成が可能

年・月・日を数値で指定して、正しい日付形式に変換してくれる

実務で便利な使い方

年・月・日を別セルから合成

=DATE(A1, B1, C1)
→ A1=2025, B1=10, C1=5 → 2025/10/05

年度の開始日・終了日を自動化

具体例(2025年9月28日時点)

=DATE(YEAR(TODAY())-1, 4, 1)
→ 前年度の開始日(例:2024/04/01)

=DATE(YEAR(TODAY()), 3, 31)
→ 当年度の終了日(例:2025/03/31)

TODAY関数と組み合わせることで、動的な年度管理が可能になります。

TODAY関数は、引数なしで使えるシンプルな関数です。詳しくは「単機能型関数まとめ」の記事で解説していますので、そちらもぜひチェックしてみてください。

単機能型関数まとめ

意外な使い方・裏技的テクニック

月を12以上にすると翌年に繰り越す

=DATE(2025, 13, 1)
→ 結果:2026/01/01

日を0にすると前月末になる

=DATE(2025, 10, 0)
→ 結果:2025/09/30

月を0にすると前年の12月になる

=DATE(2025, 0, 15)
→ 結果:2024/12/15

これらは「DATE関数が内部で日付の繰り上げ・繰り下げを自動調整してくれる」仕様を活かしたテクニックです!

注意点

  • 月や日が「13」や「32」などでも、Excelは自動で補正します(例:DATE(2025,13,1) → 2026年1月1日)
  • 文字列として入力した日付(例:"2025/09/28")とは違い、DATE関数で作った日付は計算に強い
  • DATE()の結果は「シリアル値」(例:45200)として扱われるため、数値計算や比較が可能
  • ただし、表示形式が日付になっていないと誤解されやすい
  • 引数に文字列が入るとエラーになる
    • =DATE("2025", "10", "5") → OK(文字列でも数字として認識される場合あり)
    • =DATE("年", "月", "日") → エラー(数値でないとNG)
  • うるう年の判定に注意
    • =DATE(2024,2,29) → OK(うるう年)
    • =DATE(2025,2,29) → 自動補正 → 2025/03/01
    • うるう年かどうかで結果が変わるので、年度末処理などでは要確認!

DATE関数は、Excelでカレンダーを作るときにとても便利です。
実際にExcelで「タイムラインカレンダー」を作成しながら、基本操作を学んでみましょう

Excel初心者向け!カレンダーを作りながら学ぶ基本操作

-Excel