ラベルラベル

日付・時刻中級

DATEDIF関数を見て理解する

開始日から終了日までの期間を、指定した単位の年数・月数・日数などで返す関数です。

3つのポイント

  1. 期間の起点となる開始日を指定する
  2. 期間の終点となる終了日を指定する
  3. 年・月・日などの単位で差を返す
例題

2つの日付の間の満年数を求める

サンプル数式

  • 開始日
  • 終了日
  • 単位

いまの結果:

6
計算結果
結果セル:D2
入力・条件:3項目
  • 開始日A2:2020/9/30
  • 終了日B2:2026/9/30
  • 単位C2:「Y」
この結果になる理由

指定した単位で2つの日付の差を求めました。

サンプルデータ

開始日を変えてみよう

※ Excel と Google スプレッドシートで結果や挙動が異なる場合、Excel の仕様を基準にしています。

「2つの日付の間の満年数を求める」のサンプルデータ。引数番号は正式引数と教材要素の対応、小さな角丸数字は処理順を表します。
ABCD
1開始日終了日単位結果
26
開始日終了日単位結果セル
①・②・③ 正式引数 / 教材要素1–4 処理の流れ

A2、B2、C2に値を入力すると、結果と処理順が変わります。

3つの引数

色付きの丸数字は、サンプル数式と引数ガイドで同じ引数を示しています。表にも同じ番号があれば、その引数で指定しているセルを示します。

  1. A2表のセル: A2

    期間を数え始める日付です。この例では2020/9/30を使います。

  2. B2表のセル: B2

    期間を数え終える日付です。この例では2026/9/30を使います。

  3. C2表のセル: C2

    期間をどの単位で返すか指定します。この例ではYを使い、満年数を求めます。

この数式を日本語にすると

A2の2020/9/30からB2の2026/9/30までを、C2のYで満年数として数え、D2に6を表示します。

この説明は、最初に表示されているサンプルデータをもとにしています。入力値を変更しても説明文は変わりません。

処理の流れ

手順1〜4を順番に確認しましょう。表内の小さな角丸数字は、対応する手順を示します。

  1. 開始日を確認する

    A2

    開始日: 2020/9/30

  2. 終了日を確認する

    B2

    終了日: 2026/9/30

  3. 単位を確認する

    C2

    単位: Y

  4. 指定単位で期間を求める

    D2

    結果は6です。D2に表示します。

対応アプリ

  • Excel
  • Google スプレッドシート

関数自体が対応するアプリです。教材例の数式や再計算が、両アプリで同じように動くことを保証するものではありません。

この例の注意点

  • 単位にYを指定すると満年数、Mなら満月数、Dなら日数を返します。
  • YMは年を除いた月数、MDは月と年を除いた日数、YDは年を除いた日数を返します。
  • 開始日が終了日より後の場合は#NUM!になります。
  • この教材では日付をYYYY/M/D形式で表示・入力し、内部ではExcelの1900日付システムに合わせたシリアル値へ変換して計算します。
  • MDの月末付近やYDの2月29日開始など、Excelとの互換性が複雑な一部ケースはこの教材の対象外です。

一般構文

対応:Excel / Google スプレッドシート ・ 構文:構文は同じ

  • 1900年初期のMD単位では結果が異なるケースがあります。DATEDIF(1,61,"MD")ではExcel 2021は0、Google スプレッドシートは-2を返しました。
  • 全角の単位文字を指定した入力例では、Excel 2021は単位として受理する一方、Google スプレッドシートは#NUM!となる場合があります。DATEDIF(2026/1/1,2026/2/1,"d")ではExcelは31、Sheetsは#NUM!でした。
  • 開始日が通常文字列で終了日が実エラーとなる競合では、ExcelとGoogle スプレッドシートで返されるエラーが異なる場合があります。DATEDIF(abc,#DIV/0!,"Y")ではExcelは#VALUE!、Sheetsは#DIV/0!でした。

Excel

=DATEDIF(start_date, end_date, unit)

Google スプレッドシート

=DATEDIF(start_date, end_date, unit)
公式資料・確認範囲

実機確認

  • Excel 2021 / Google スプレッドシート計算結果・入力の扱い・エラーを確認済み

未確認

配列展開

次に学ぶ関数

カテゴリから探す

次に学ぶおすすめ関数はありません。カテゴリから探しましょう。

カテゴリを見る