納期までの日数や、契約期間の日数を求めたいとき、カレンダーを見ながら指で数えていませんか。エクセルでは、日付どうしを引き算するだけで、日数を計算できます。
この記事では、引き算やDAYS関数による基本の日数計算と、土日を除いた営業日数を求めるNETWORKDAYS関数を、図解で説明します。
日付どうしを引き算して、日数を求める
=終了日-開始日
エクセルは、日付を「通し番号」で管理しているため、引き算するだけで、間の日数が求められます。

- 引き算の順番は「終了日-開始日」
- 日付が入ったセルを、そのまま引き算できる
- 日付を直接入力するときは、「DATE(2026,4,1)」の形式で指定する
結果が日付で表示されるとき
結果のセルが「1900/1/29」のように、日付で表示されてしまうことがあります。引き算の結果のセルが、日付の形式になっているためです。結果のセルを選んで、「ホーム」タブの表示形式を「標準」に変えると、「29」のように数字で表示されます。
初日を含めて数えるとき|+1
上の式は、開始日を数えない計算です。4月1日から4月30日の場合、「29日」と表示されますが、初日を含めると、30日間です。初日を含めたいときは、最後に「+1」を足します。
=B2-A2+1
「何日間か」を数えたいときは、初日を含める「+1」が必要になる場面が多くあります。レンタル期間やホテルの宿泊日数など、数え方のルールを確認してから決めます。
DAYS関数で日数を求める
=DAYS(終了日,開始日)
DAYS関数も、2つの日付の間の日数を求める関数です。引き算と同じ結果になります。式の中で、「終了日」を先に書く点に注意します。
- 「=DAYS(B2,A2)」と書くと、「=B2-A2」と同じ結果になる
- 終了日と開始日の順番を間違えると、マイナスの数字になる
- Excel 2013以降で使える
土日を除いた営業日数を求める|NETWORKDAYS関数
=NETWORKDAYS(開始日,終了日)
NETWORKDAYS関数は、土曜日と日曜日を除いた、平日の日数を求めます。納品までの営業日数や、作業日数の計算に便利です。

- 引き算と異なり、開始日と終了日の両方が、日数に含まれる
- 開始日と終了日の順番は「開始日,終了日」
- 土日だけが除かれ、祝日は除かれない
祝日も除きたいとき
3つ目の引数に、祝日の一覧(セル範囲)を指定すると、祝日も除いて数えられます。あらかじめ、祝日の日付をセルに入力しておきます。
=NETWORKDAYS(A2,B2,E2:E5)
たとえば、E2からE5に、期間内の祝日の日付を入力しておくと、その日は除かれます。複数の式にコピーするときは、祝日の範囲を「$E$2:$E$5」のように、絶対参照にします。
土日以外が休みのとき
日曜日だけが休みの場合など、休みの曜日が違うときは、NETWORKDAYS.INTL関数を使います。3つ目の引数に、休みのパターンを数字で指定します。たとえば、「11」は日曜日だけ、「1」は土日(初期設定と同じ)を、休みとして扱います。
=NETWORKDAYS.INTL(A2,B2,11)
もう一歩進める|日数計算でつまずきやすい点
日数の計算は、一見簡単ですが、いくつかの落とし穴があります。事前に知っておくと、間違いを避けられます。
開始日と終了日が逆になっているとき
引き算の結果がマイナスになったときは、開始日と終了日が逆になっていないかを確認しましょう。日付の差を、常にプラスで出したいときは、ABS関数で絶対値にします。
=ABS(B2-A2)
時刻が含まれているとき
日付に時刻が含まれていると、引き算の結果が小数になります。整数の日数にしたいときは、INT関数で小数点以下を切り捨てます。
=INT(B2-A2)
月数や年数で数えたいとき
日数ではなく、「何か月」「何年」で数えたいときは、DATEDIF関数を使います。単位に「M」を指定すると月数、「Y」を指定すると年数が出ます。
時間の差を求める
勤務時間のように、時間の差を出したいときは、終了時刻から開始時刻を引き、表示形式を「h:mm」にします。日をまたぐ場合は、日付も含めた値で引き算をしましょう。
日数の計算をした結果が日付で表示されたときは、セルの表示形式を「標準」または「数値」に変えると、数字で表示されます。
日数の計算結果を、条件付き書式で見やすくする
日数を計算した列は、条件付き書式と組み合わせると、状況がひと目で分かる表になります。たとえば、締め切りまでの日数が3日以内のセルに赤い色をつけ、7日以内のセルに黄色をつけるように設定します。
「セルの強調表示ルール」から「指定の値より小さい」を選び、値に「3」を入力するだけで設定できます。毎日ファイルを開くたびに、日数の計算が更新されるので、期限が近いものが自動で目立つようになります。日数の計算は、一度作ってしまえば、あとは自動で更新される点が、手計算にはない大きな利点です。
まとめ
- 日数は、「=終了日-開始日」で求める
- 初日を含めるときは「+1」を足す
- DAYS関数でも同じ結果が得られる(終了日を先に書く)
- 土日を除くなら NETWORKDAYS関数。祝日は3つ目の引数で指定する
- 結果が日付で表示されたら、表示形式を「標準」にする
数え方のルール(初日を含むか、土日を除くか)を先に決めておくと、式を迷わず選べます。

コメント