Excel一覧 Excel操作・関数 データ操作 日付計算

【Excel】日付の引き算ができない時の対処方法【#VALUE!や計算できない原因を解消】

Excelで日付同士を引き算して「日数」を求めようとしたときに、
「エラーが出る」「思ったような結果にならない」などのトラブルに遭遇したことはありませんか?

#VALUE! エラーになってしまう
✔ 数式は合っているのに結果が空白または0になる
✔ 日付を引いたはずなのに「シリアル値」や「意味不明な値」が表示される

この記事では、Excelで日付の引き算がうまくいかない時の原因と解決方法を、実例つきでわかりやすく解説します。

日付の引き算は「=終了日 - 開始日」

Excelでは、日付は内部的に「シリアル値(連番)」として扱われているため、
2つの日付をそのまま引き算すれば「日数差」が出るのが基本です。

A列(開始日)B列(終了日)C列(日数)
2025/03/012025/03/10=B2 - A2 → 9

【Excel】日付を1日足す計算方法【予定表や日次処理に便利!】

❗ よくある原因と対処法

原因①:日付の形式が「文字列」になっている

🔍 症状:

  • #VALUE! エラーが出る

  • 計算結果が空白になる

✅ 対処法:

  • セルを右クリック →「セルの書式設定」→「日付」に変更

  • もしくは DATEVALUE関数を使って変換

=DATEVALUE(A2)

原因②:セルが空白 or 不正な入力(例:全角スペース)

🔍 症状:

  • エラーは出ないが計算結果が「0」や「空白」になる

✅ 対処法:

  • セルが正しく入力されているか確認

  • 必要なら IF関数や IFERROR で補う

=IF(AND(ISNUMBER(A2), ISNUMBER(B2)), B2 - A2, "")

原因③:関数の構文ミス(DATEDIFの場合)

🔍 症状:

  • #NUM! エラーになる

  • 関数が正しく計算されない

✅ 対処法:

  • DATEDIF関数は「開始日 < 終了日」でないとエラーになります

  • 正しい構文に修正しましょう

=DATEDIF(A2, B2, "D") ' → 日数を取得

原因④:結果のセルが「日付表示形式」になっている

🔍 症状:

  • 結果が「1900/01/09」など、変な日付に見える

✅ 対処法:

  • 結果セルを右クリック →「セルの書式設定」→「標準」または「数値」に変更

✅ シリアル値を「日付」として表示してしまっている状態です。

✅よく使う日付差の計算パターン

計算内容数式例備考
日数をそのまま求める=B2 - A2単純な日付の差
日数差(関数で正確に)=DATEDIF(A2, B2, "D")DATEDIF関数を使う
年数差(満年齢)=DATEDIF(A2, B2, "Y")誕生日などの年齢計算に便利
月数差=DATEDIF(A2, B2, "M")契約月数など

🛠 トラブル解決のチェックリスト

チェック項目確認ポイント
日付が正しく入力されているか2025/3/1 など正しい形式か?
書式が「日付」になっているか「文字列」だと計算できません
結果セルの表示形式が正しいか計算結果が「標準」や「数値」になっているか?
開始日と終了日の順序が正しいか終了日が前だとマイナスやエラーになる

✅ まとめ:日付の引き算トラブルと解決法

トラブル内容原因解決方法
#VALUE! エラー日付が文字列 or 空白日付形式に変換・DATEVALUEを使う
#NUM! エラーDATEDIFで日付の順序が逆日付の順を見直す
結果が日付になる書式が「日付」になっている書式を「標準」や「数値」に変更
結果が0または空白セルに無効な値・空白があるIFやISNUMBERでエラーチェック

🎯 活用シーン

  • 作業日数の自動計算

  • 契約日と更新日の差

  • 申請から承認までの経過日数

  • 日付ベースの進捗・納期管理

-Excel一覧, Excel操作・関数, データ操作, 日付計算