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

【Excel】営業日を計算する方法|WORKDAY・NETWORKDAYS関数で休日を除外

Excelでスケジュール管理や納期管理をしていると、「日数」ではなく営業日ベースで日付を計算したい場面がよくあります。
例えば次のようなケースです。

  • 納期を「5営業日後」に設定する
  • 発注日から「10営業日後」に出荷する
  • 作業日数を「営業日」で計算する

しかし単純に日付に数値を足すだけでは、土日や祝日が含まれてしまうため正しい計算になりません。

Excelには、こうした問題を解決するために
営業日を計算する専用の関数が用意されています。

この記事では、Excelで営業日を計算する方法として、次の2つの関数を詳しく解説します。

  • WORKDAY関数(指定営業日後の日付)
  • NETWORKDAYS関数(営業日数の計算)

納期管理や業務スケジュールにも役立つ内容なので、ぜひ実務で活用してみてください。

✅ Excelで営業日計算が必要になる理由

Excelの日付は通常、「カレンダー日数」で計算されます。
つまり、土日や祝日も含めて計算されます。

例えば次の式です。

"=A1+5"

この式はA1の日付から5日後を求めます。
しかしこの計算では、

  • 土曜日
  • 日曜日
  • 祝日

も含まれてしまいます。

実務では多くの場合、業務は営業日に行われるため
営業日ベースで日付計算する必要があります。

そこでExcelでは

  • WORKDAY関数
  • NETWORKDAYS関数

という営業日計算の関数が用意されています。


✅ WORKDAY関数:指定した営業日後の日付を求める

WORKDAY関数は、指定した日付から指定営業日後の日付を求める関数です。
土日や祝日を除いた日付計算を行うことができます。

特に次のような業務でよく使われます。

  • 納期計算
  • 発送予定日
  • 作業完了予定日

・構文:WORKDAY関数

"=WORKDAY(開始日, 営業日数, [祝日])"

引数内容
開始日基準となる日付
営業日数何営業日後か
祝日除外する祝日(省略可)

・例:5営業日後の日付

A1セル
2024/5/1

"=WORKDAY(A1,5)"

結果

2024/5/8

この計算では、土日を除いた5営業日後の日付が表示されます。


・祝日を除外する場合

祝日リストを別セルに用意しておくことで、祝日も除外できます。

祝日リスト
B1:B5

"=WORKDAY(A1,5,B1:B5)"

これで

  • 土日
  • 指定祝日

を除外した営業日計算ができます。


✅ NETWORKDAYS関数:営業日数を計算する

NETWORKDAYS関数は、2つの日付の間の営業日数を計算する関数です。

例えば

  • 作業日数
  • 稼働日数
  • 勤務日数

などを計算する際に便利です。


・構文:NETWORKDAYS関数

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

引数内容
開始日開始日
終了日終了日
祝日除外する祝日

・例:営業日数を計算

A1
2024/5/1

A2
2024/5/10

"=NETWORKDAYS(A1,A2)"

結果

8

これは土日を除いた営業日数です。


・祝日を除外する場合

祝日リスト
B1:B5

"=NETWORKDAYS(A1,A2,B1:B5)"

これで祝日も除外できます。


✅ WORKDAY関数とNETWORKDAYS関数の違い

2つの関数は似ていますが、用途が異なります。

関数用途
WORKDAY指定営業日後の日付
NETWORKDAYS営業日数を計算

  • 納期 → WORKDAY
  • 作業日数 → NETWORKDAYS

と覚えると使いやすいです。


✅ 営業日計算でよくあるミス

営業日計算では、次のようなミスがよくあります。

・日付加算で計算してしまう

"=A1+5"

この式では営業日ではなく
カレンダー日数になります。

営業日計算では
WORKDAY関数を使う必要があります。


・祝日リストを設定していない

土日は除外できても、祝日は除外されません。

実務で使う場合は

  • 会社休日
  • 祝日

を別セルに用意するのがおすすめです。


✅ 営業日計算の実務活用例

営業日計算は次のような業務で活用できます。

・納期計算

受注日から

3営業日後

"=WORKDAY(A1,3)"


・作業日数

作業開始日
作業終了日

"=NETWORKDAYS(A1,A2)"


・出荷予定日

注文日から

5営業日後

"=WORKDAY(A1,5)"


✅ Excel VBAで営業日計算を自動化する

営業日計算は関数でもできますが、
業務によってはVBAで自動化するケースもあります。

例えば

  • 大量データの納期計算
  • 月次処理
  • スケジュール作成

などです。

VBAではWORKDAY関数を使って営業日計算ができます。

Dim resultDate As Date
resultDate = Application.WorksheetFunction.WorkDay(Date, 5)

このコードは

今日から5営業日後

を求めます。


✅ 日付計算の基本を理解しておこう

営業日計算を正しく使うためには、
Excelの日付計算の基本を理解しておくことも重要です。

日数計算や月単位の計算など、
日付処理の基本については次の記事でまとめています。

【Excel】日付計算の完全ガイド|日数・月数・年数の求め方まとめ


 

✅ まとめ:Excelの営業日計算を活用しよう

Excelでは、WORKDAY関数やNETWORKDAYS関数を使うことで
営業日ベースの日付計算が可能になります。

今回のポイントをまとめます。

  • WORKDAY関数は営業日後の日付を求める
  • NETWORKDAYS関数は営業日数を計算する
  • 土日だけでなく祝日も除外できる
  • 納期管理や作業日数計算に便利
  • VBAでも営業日計算を自動化できる

営業日計算を使いこなせるようになると、
納期管理やスケジュール管理をより正確に行うことができます。

ぜひExcelの営業日計算を活用して、業務効率化に役立ててみてください。

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