クイックナビゲーション
DATEDIF関数
概要
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+