DATEDIF関数の使い方

2つの日付の間隔(年数、月数、日数)を計算します。隠し関数です。

200720102013201620192021365
構文
=DATEDIF(開始日, 終了日, 単位)
引数
  1. 開始日必須
  2. 終了日必須
  3. 単位必須
どんな関数か

DATEDIF は、2つの日付の間が何年・何か月・何日かを返します。年齢や勤続年数の計算の定番です。入力の候補に出てこない「隠し関数」なので、名前を手で打ち込みます。3つめの単位は "Y"(満年数)・"M"(満月数)・"D"(日数)・"YM"(1年未満の月数)・"MD"(1か月未満の日数)で、「◯歳◯か月」は "Y" と "YM" を組み合わせます。開始日が終了日より後だと #NUM!。"MD" は月末がからむと正しくない値を返すことがあり、Microsoft も推奨していません。

使用例

B2 に =DATEDIF("2000/1/1", TODAY(), "Y") を入れると、こうなります。

AB
1誕生日年齢
22000/1/123

数式を入れたセル

結果: 23(2000年生まれの人の、2023年10月時点の満年齢。今日の日付で計算するので、年が変われば増える)

つまずきやすいところ

  • 入力補完に出てこない。手で打つ
  • 単位は "Y" 年 / "M" 月 / "D" 日
  • "MD" は結果が合わないことがあり、Microsoft も勧めていない

よくあるエラーと、その直し方

#NUM!
開始日が終了日より後になっている引数の順番を入れ替える

DATEDIFを使う実例レシピ(8件)

同じ「日付・時刻」の関数

日付・時刻の関数をすべて見る(25件)