Excel一覧 Excel操作 日付計算 計算・数値処理

【Excel】日数をカウントする方法【開始日と終了日の差を正確に計算】

Excelでスケジュール管理やプロジェクト管理をしていると、
「開始日から終了日までの日数を自動で計算したい!」
「何日経過しているかを一覧表で見えるようにしたい!」
そんなニーズはとても多いですよね。

この記事では、Excelで日数をカウントする基本的な方法から、土日を除いた営業日計算、日付が未入力の場合の処理方法までをわかりやすく解説します!

✅単純な日数差を求める(終了日 − 開始日)

最も基本的な方法は、2つの日付を引き算するだけです。

=終了日 - 開始日

使用例

=B2 - A2

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

✅ シンプルで、日数の経過を正確に表示できます。
📌 同じ日を0日ではなく1日としてカウントしたい場合は「+1」してください:

=B2 - A2 + 1

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

✅DATEDIF関数を使って日数を求める

DATEDIF関数を使えば、年・月・日ごとの差を正確に求められます。

=DATEDIF(開始日, 終了日, "D")

使用例

=DATEDIF(A2, B2, "D")

  • "D"は日数(Days)の意味

  • 開始日が終了日より後の場合は #NUM! エラー になるので注意

【Excel】「何日後」の日付を関数で計算する方法【納期・リマインド・スケジュール管理に◎】

✅土日・祝日を除いた営業日数を求める(NETWORKDAYS関数)

土日を除いて、実働日(営業日)だけをカウントしたい場合は NETWORKDAYS 関数を使います。

=NETWORKDAYS(開始日, 終了日, [祝日範囲])

使用例

=NETWORKDAYS(A2, B2)

A列(開始日)B列(終了日)C列(営業日数)
2025/03/012025/03/10=NETWORKDAYS(A2,B2) → 6日

※ 土日が除外されて、自動的に平日のみがカウントされます
※ 祝日も除外したい場合は、祝日をセル範囲にまとめて、以下のように指定します:

=NETWORKDAYS(A2, B2, F2:F10)

✅日付が未入力のときは空欄にする(IF関数+TODAY関数)

終了日がまだ未入力で、「今日までの日数」を出したい場合は:

=IF(B2="", TODAY() - A2, B2 - A2)

✅ 終了日があれば差分を、なければ今日までの経過日数を自動でカウント

📝 表示形式が変になったときの対処法

日数を表示するセルが「日付」形式になっていると、変な日付(1900/01/09など)が表示されてしまいます。

  1. セルを右クリック →「セルの書式設定」

  2. 「表示形式」→「標準」または「数値」を選択

  3. OKをクリック

よくあるエラーと対策

エラー・症状原因解決策
#VALUE! エラー日付が文字列・未入力入力形式を「日付」に修正
#NUM! エラーDATEDIFで開始日 > 終了日日付の順序を確認・IFで制御
1900/1/0 などの表示結果セルの表示形式が「日付」「標準」または「数値」に変更

まとめ:日数カウントのパターンと数式一覧

やりたいこと数式例使用関数
通常の日数を計算=B2 - A2
同じ日を「1日」としてカウント=B2 - A2 + 1
DATEDIFで日数計算=DATEDIF(A2, B2, "D")DATEDIF
営業日(平日)のみカウント=NETWORKDAYS(A2, B2)NETWORKDAYS
営業日+祝日除外=NETWORKDAYS(A2, B2, F2:F10)NETWORKDAYS
終了日未入力なら今日までのカウント=IF(B2="", TODAY()-A2, B2-A2)IF + TODAY

🎯 活用シーン

  • 業務開始からの経過日数を表示

  • タスクの所要日数を自動計算

  • 納期までの残り日数管理

  • プロジェクト進行のステータス判断

  • 契約日・更新日・申請日などの管理

    -Excel一覧, Excel操作, 日付計算, 計算・数値処理