DATEDIF関数

Excel 2007+

概要

DATEDIF関数は2つの日付間の年数、月数、日数を計算します。年齢計算や期間計算に最適ですが、隠し関数として文書化されていないため注意が必要です。

構文

DATEDIF(開始日,終了日,単位)

パラメータ

パラメータ タイプ 必須 説明
開始日 Date はい 期間の開始日付。文字列やシリアル値で指定可能
終了日 Date はい 期間の終了日付
単位 Text はい "Y"(年), "M"(月), "D"(日), "MD", "YM", "YD"

DATEDIF関数の使用

DATEDIF関数は2つの日付間の期間を年・月・日単位で計算します。年齢計算、勤続年数、プロジェクト期間などに活用されます。開始日が終了日より後の場合は#NUM!エラーが発生します。

DATEDIFの一般的な例

年数計算例

=DATEDIF("2001/1/1","2003/1/1","Y")

2年間の期間を年数で計算(結果:2)

日数計算例

=DATEDIF("2001/6/1","2002/8/15","D")

総日数を計算(結果:440日)

年を無視した日数

=DATEDIF("2001/6/1","2002/8/15","YD")

年を無視して日数を計算(結果:75日)

年齢計算例

=DATEDIF(A1,TODAY(),"Y")

A1の生年月日から現在の年齢を年数で計算

よくある質問

DATEDIFは隠し関数です。関数一覧には表示されませんが、正しく入力すれば使用できます。

#NUM!エラーが返されます。開始日が終了日より前であることを確認してください。

終了日-開始日で計算できます。DATEDIFはより詳細な期間分析に使用します。

一般的なエラーと解決策

#NUM!

Cause: 開始日が終了日より後

Solution: 日付の順序を確認してください

#VALUE!

Cause: 単位引数が正しくない

Solution: "Y","M","D","MD","YM","YD"のいずれかを指定

#NAME?

Cause: 関数名が間違っている

Solution: DATEDIFと正確に入力(隠し関数です)

注記

  • DATEDIFはExcel 2007以降で使用可能ですが、文書化されていません
  • "MD"単位は不正確な結果を返す場合があるため注意
  • 単純な日数計算には直接減算を推奨
  • Lotus 1-2-3互換性のため存在する隠し関数

互換性

利用可能: Excel 2007, Excel 2010, Excel 2013, Excel 2016, Excel 2019, Excel 2021, Microsoft 365

利用不可: Excel 2003以前

コンテンツ最終レビュー: December 9, 2025
更新頻度: 必要に応じて
テスト済みExcelバージョン: Excel 2007+