Excelでスケジュール管理や納期管理をしていると、「日数」ではなく営業日ベースで日付を計算したい場面がよくあります。
例えば次のようなケースです。
- 納期を「5営業日後」に設定する
- 発注日から「10営業日後」に出荷する
- 作業日数を「営業日」で計算する
しかし単純に日付に数値を足すだけでは、土日や祝日が含まれてしまうため正しい計算になりません。
Excelには、こうした問題を解決するために
営業日を計算する専用の関数が用意されています。
この記事では、Excelで営業日を計算する方法として、次の2つの関数を詳しく解説します。
- WORKDAY関数(指定営業日後の日付)
- NETWORKDAYS関数(営業日数の計算)
納期管理や業務スケジュールにも役立つ内容なので、ぜひ実務で活用してみてください。
目次
- ✅ Excelで営業日計算が必要になる理由
- ✅ WORKDAY関数:指定した営業日後の日付を求める
- ・構文:WORKDAY関数
- ・例:5営業日後の日付
- ・祝日を除外する場合
- ✅ NETWORKDAYS関数:営業日数を計算する
- ・構文:NETWORKDAYS関数
- ・例:営業日数を計算
- ・祝日を除外する場合
- ✅ WORKDAY関数とNETWORKDAYS関数の違い
- ✅ 営業日計算でよくあるミス
- ・日付加算で計算してしまう
- ・祝日リストを設定していない
- ✅ 営業日計算の実務活用例
- ・納期計算
- ・作業日数
- ・出荷予定日
- ✅ Excel VBAで営業日計算を自動化する
- ✅ 日付計算の基本を理解しておこう
- ✅ まとめ:Excelの営業日計算を活用しよう
✅ 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の営業日計算を活用して、業務効率化に役立ててみてください。