
エクセルで「DATEDIF関数が候補に出てこない」「エラーが出て計算できない」といったトラブルの解決策を、まとめました。結果が日付になるときの解決方法についても解説しているので、ぜひ参考にしてみてください。
DATEDIF関数の基本の使い方

DATEDIF関数は、2つの日付の間の日数、月数、または年数を計算します。
例:=DATEDIF(A2,B2,"D")
💡 ポイント:入力中に予測候補が出てきませんが、正しく数式を入力すれば使えます。
DATEDIF関数の引数:(開始日,終了日,単位)
📖 単位一覧
| やりたいこと | 単位 | 例 |
|---|---|---|
| 経過日数 | "D" | 1ヶ月5日 → 35日(すべての日数) |
| 経過月数 | "M" | 1年2ヶ月 → 14ヶ月(すべての月数) |
| 経過年数(年齢) | "Y" | 2年3ヶ月 → 2年(満年数) |
| 年を除いた「月」 | "YM" | 1年2ヶ月 → 2ヶ月(1年未満の月) |
| 月を除いた「日」 | "MD" | 1ヶ月5日 → 5日(1ヶ月未満の日) |
| 年を除いた「日」 | "YD" | 2年5日 → 5日(1年未満の日) |
DATEDIF関数が使えない場合

DATEDIF関数は、スペルや引数を正しく「手入力」すれば使えます。
エクセルの予測候補には表示されない仕様になっているため、以下の手順で入力します。
【入力手順】
- セルに
=DATEDIF(と直接入力します。 - 「開始日, 終了日, “単位”」 の順に引数を指定します。
- 例:
=DATEDIF(A2,B2,"D")
- 例:
DATEDIF関数がエラーになる場合
「#NAME?」エラーになる

【原因1】:ダブルクォーテーションの付け忘れ
- 単位(YやDなど)は、ダブルクォーテーションで囲む必要があります。(例:
"D")
【原因2】:関数名のスペルミス
DATEIFのように「D」が1つ足りないといったスペルミスの可能性があります。正しくはDATEDIFと入力します。
「#NUM!」エラーになる

【原因】:開始日と終了日が逆転している
- 開始日 → 終了日(開始日が終了日より前の日付)の順番で指定します。
「#VALUE!」エラーになる

【原因1】:日付が「文字列」になっている
- 日付が「2026.4.1」や「2026年4月1日」といった形式で入力されていると、日付として認識されません。正しくは「2026/4/1」のように入力します。
【原因2】:「1900年以前」の日付になっている
- エクセルでは1900年1月1日を「1」とする連番で定義されているため、 それより前は日付として計算できません。
📖 参考:「2026.4.1」をまとめて直したいときは、その列を選択して「データ」タブの「区切り位置」→「次へ」→「次へ」→「日付」にチェックを入れて完了を押します。
DATEDIF関数の結果が日付になる

【原因】:セルの表示形式が「日付」になっている
- 特に
=DATEDIF(A2,B2,"D")+1のように最後に日付の±をした時に発生します。「ホーム」タブの「日付」を「標準」に戻すことで日数が正しく表示されます。