Excel 日数計算|日付差分・初日を含む・土日除外の公式

開始日と終了日を入力すると、Excelで使える日数計算の公式を自動表示。通常の日数、初日を含む、両端入れ、今日まで、土日を除く営業日数をまとめて確認できます。

日付と条件を入力

計算ルール
Excel公式
開始日を含む
+1 が必要か確認
終了日を含む
終了日を数える
無料・登録不要

Excel公式と計算結果

選択中ルールの日数
- 日
通常の日数
-
両端入れ
-
営業日数
-
開始日から今日まで
-
この条件のExcel公式
A2に開始日、B2に終了日が入っている想定です。
=B2-A2

Excel日数計算の公式早見表

実務向け

日数計算は目的によって使う公式が変わります。迷ったらまずは「終了日-開始日」、初日も数える場合は「+1」、土日を除く場合はNETWORKDAYSを使います。

通常の日数
=B2-A2

開始日を含まない日付差分。最もシンプルな方法です。

初日を含む・両端入れ
=B2-A2+1

開始日と終了日の両方を数える場合に使います。

DAYS関数
=DAYS(B2,A2)

終了日と開始日の差を返します。結果は=B2-A2と同じ考え方です。

今日までの日数
=TODAY()-A2

開始日から今日までの経過日数。ファイルを開く日によって自動更新されます。

今日まで(初日含む)
=TODAY()-A2+1

開始日を1日目として数える場合の公式です。

土日を除く営業日数
=NETWORKDAYS(A2,B2)

土曜・日曜を除いた稼働日数を計算します。

祝日も除外
=NETWORKDAYS(A2,B2,$E$2:$E$20)

祝日リストをセル範囲で用意して第3引数に指定します。

30営業日後
=WORKDAY(A2,30)

指定した営業日数だけ進んだ日付を返します。

Excelの日付はシリアル値

Excelでは日付が連続した数値として扱われるため、終了日から開始日を引くだけで日数差分を計算できます。例えばA2が開始日、B2が終了日なら =B2-A2 が基本です。

結果が1日ずれる理由

Excelの =B2-A2 は「日付と日付の間隔」を返すため、開始日は通常カウントされません。開始日も終了日も数える「両端入れ」にしたい場合は +1 が必要です。

土日を除くならNETWORKDAYS

営業日数を計算する場合は =NETWORKDAYS(A2,B2) を使います。日本の祝日はExcelが自動判定するわけではないため、祝日リストを別途用意して第3引数に指定します。

関数別の使い分け

公式の選び方
関数・方法 公式 向いている用途 注意点
直接相減 =B2-A2 単純な日付差分、経過日数 一番わかりやすく、古いExcelでも使えます。
DAYS関数 =DAYS(終了日,開始日) 新しいExcelで日数差分を明示したい場合 引数の順番が「終了日, 開始日」なので入力順に注意します。
DATEDIF関数 =DATEDIF(開始日,終了日,"D") 日数・月数・年数を切り分けたい場合 総日数だけなら直接相減やDAYSの方がシンプルです。
TODAY関数 =TODAY()-A2 開始日から今日までの日数 今日の日付で自動更新されるため、固定したい場合は値として貼り付けます。
NETWORKDAYS関数 =NETWORKDAYS(A2,B2,[祝日]) 土日・祝日を除いた営業日数 開始日と終了日が営業日なら、両方とも計算に含まれます。
WORKDAY関数 =WORKDAY(A2,30,[祝日]) N営業日後・N営業日前の日付 日数差分ではなく、営業日後の日付を求める関数です。

用途別の計算例 具体例

契約期間を両端入れで数える

4月1日から4月10日までを10日間として扱う場合は、通常の差分に +1 します。

=B2-A2+1

開始日から今日までの経過日数

進捗管理や継続日数の確認では、TODAY関数を使うと毎日自動で更新されます。

=TODAY()-A2

土日を除いた作業日数

納期や勤務日数の概算には、NETWORKDAYSで土日を除いた日数を出します。

=NETWORKDAYS(A2,B2)

Excel日数計算でよくあるミス

注意点

計算結果が合わないときは、まず日付形式・含む/含まない・休日条件を確認します。

結果が日付表示になる

計算結果セルの表示形式が日付になっている可能性があります。表示形式を「標準」または「数値」に変更してください。

#VALUE! が出る

日付が文字列として扱われていることがあります。日付形式に直すか、DATEVALUE関数で変換します。

初日を含むかで1日ずれる

Excelの差分は通常、開始日を含みません。開始日と終了日を両方数える場合は +1 します。

祝日が自動で除外されない

NETWORKDAYSは土日を除外できますが、日本の祝日は別途リストを用意して第3引数に指定する必要があります。

古いMacファイルで日付がずれる

1900日付システムと1904日付システムの違いにより、約4年ずれる場合があります。

DATEDIFのMDを過信する

DATEDIFの一部単位は制限があります。厳密な総日数は直接相減、DAYS、NETWORKDAYSで確認しましょう。

FAQ

8問
開始日がA2、終了日がB2なら =B2-A2 です。開始日を含まない日数差分を返します。
開始日と終了日の両方を数える場合は =B2-A2+1 とします。
総日数だけなら =B2-A2 または =DAYS(B2,A2) がシンプルです。年数・月数も分けたい場合はDATEDIFを使います。
=TODAY()-A2 を使います。開始日も1日目として含めるなら =TODAY()-A2+1 です。
=NETWORKDAYS(A2,B2) を使います。土曜・日曜を除いた営業日数を返します。
はい。祝日一覧をセル範囲で用意し、=NETWORKDAYS(A2,B2,$E$2:$E$20) のように第3引数へ指定します。
セルの表示形式を「標準」または「数値」に変更してください。計算自体はできていても、表示形式だけが日付になっているケースがあります。
日付が文字列として扱われている可能性があります。セルの形式を確認し、必要に応じてDATEVALUE関数で日付に変換してください。

参考資料

最終更新:2026年4月24日

本ページのExcel関数説明は、Microsoft公式サポートの関数仕様を確認したうえで、日数計算の実務用途向けに整理しています。

  1. Microsoft サポート:DAYS 関数
  2. Microsoft サポート:DATEDIF 関数
  3. Microsoft サポート:NETWORKDAYS 関数
  4. Microsoft サポート:WORKDAY 関数
  5. Microsoft サポート:Excel の日付システム
コピーしました