仕事で納期管理や勤怠管理を行う際に、「開始日から終了日までの営業日数を求めたい」と思ったことはありませんか。
単純な引き算で日数を求めることはできますが、その方法では土日や祝日まで含まれてしまいます。
そんなときに便利なのが、ExcelのNETWORKDAYS関数です。
NETWORKDAYS関数を使えば、開始日と終了日の間にある土日や祝日を自動的に除外し、実際の営業日数だけを簡単に計算できます。
この記事では、NETWORKDAYS関数の基本的な使い方から祝日設定、実務での活用例、よくあるエラーまで詳しく解説します。
✅ NETWORKDAYS関数とは
営業日数を計算するときに、日付の引き算だけで対応してしまう方は少なくありません。
しかし実務では、土日や祝日を除いて納期や勤務日数を管理するケースがほとんどです。
誤った計算のまま運用すると、納期の見積もりや工数計算にズレが生じる原因になります。
NETWORKDAYS関数はそうしたミスを防ぐための関数です。
特にプロジェクト管理や人事・総務業務では頻繁に使用されます。
まずはどのような関数なのかを理解しておきましょう。
・NETWORKDAYS関数でできること
NETWORKDAYS関数は、開始日から終了日までの期間に含まれる営業日数を計算する関数です。
営業日とは一般的に、
- 月曜日~金曜日
- 指定した祝日を除外
した日数を指します。
例えば、
| 開始日 | 終了日 |
|---|---|
| 2025/4/1 | 2025/4/30 |
の場合、土日を除いた営業日数だけを自動で計算できます。
・NETWORKDAYS関数の構文
=NETWORKDAYS(開始日,終了日,[祝日])
引数は次のとおりです。
| 引数 | 内容 |
|---|---|
| 開始日 | 計算開始日 |
| 終了日 | 計算終了日 |
| 祝日 | 除外したい祝日(省略可) |
✅ ExcelでNETWORKDAYS関数を使う基本方法
NETWORKDAYS関数は難しい関数に見えますが、実際には非常にシンプルです。
ただし日付データが正しく入力されていないと期待した結果になりません。
最初に基本的な入力方法を理解しておくことで、後から発生しやすいエラーも防げます。
まずは最もシンプルな使い方から確認していきましょう。
・営業日数を計算する手順
次の表を用意します。
| A列 | B列 |
|---|---|
| 開始日 | 終了日 |
| 2025/4/1 | 2025/4/30 |
営業日数を表示するセルに次の数式を入力します。
=NETWORKDAYS(A2,B2)
・計算手順
- 計算結果を表示するセルを選択
- NETWORKDAYS関数を入力
- Enterキーを押す
- 営業日数が表示される
土日を除いた営業日数が自動計算されます。
・終了日も計算対象になる
NETWORKDAYS関数では開始日と終了日の両方を含めて計算します。
例えば、
=NETWORKDAYS("2025/4/1","2025/4/1")
の場合は結果が「1」となります。
✅ NETWORKDAYS関数で祝日を除外する方法
実務では土日だけでなく祝日も除外したいケースが多くあります。
ここを知らないまま使うと、営業日数が実際より多く計算されてしまいます。
特に納期管理や勤務日数集計では大きなズレにつながります。
NETWORKDAYS関数は祝日リストを指定することで正確な営業日数を計算できます。
実務ではこちらの使い方が主流になります。
・祝日一覧を作成する
例えばF列に祝日を入力します。
| F列 |
|---|
| 2025/4/29 |
| 2025/5/3 |
| 2025/5/5 |
| 2025/5/6 |
・祝日を除外する数式
=NETWORKDAYS(A2,B2,F2:F5)
・なぜ範囲指定するのか
祝日を範囲指定しておけば、
- 翌年の祝日追加
- 社内休業日の追加
- 特別休日の追加
にも対応できます。
実務では祝日一覧シートを作成して管理することが多いです。
営業日数を求めるだけでなく、「〇営業日後の日付を求めたい」という場面もあります。営業日計算に関する関数全体の使い分けについては、関連記事「【Excel】営業日を計算する方法|WORKDAY・NETWORKDAYS関数で休日を除外」で詳しく解説しています。
✅ NETWORKDAYS関数の実務活用例
NETWORKDAYS関数は単なる営業日計算だけでなく、多くの業務で利用されています。
実際の業務をイメージできると活用範囲が広がります。
特に総務・人事・営業・プロジェクト管理などでは非常に便利です。
ここでは代表的な活用例を紹介します。
・納期管理
受注日から納品日までの営業日数を計算します。
=NETWORKDAYS(A2,B2,祝日一覧)
納期の妥当性確認に役立ちます。
・勤怠管理
入社日から退職日までの勤務日数計算に利用できます。
=NETWORKDAYS(入社日,退職日,祝日一覧)
・有給休暇の取得日数計算
有給申請期間の営業日数計算にも利用可能です。
土日祝日を除外した取得日数を自動計算できます。
・プロジェクト管理
開始日から締切日までの稼働日数を求められます。
工数計画や進捗管理にも活用できます。
勤怠管理では営業日数だけでなく、勤務時間や残業時間の集計も必要になります。勤務時間を自動計算する方法については、関連記事「【Excel】勤務時間を自動計算する方法|休憩時間や残業計算まで対応」で詳しく解説しています。
✅ NETWORKDAYS関数でよくあるエラーと対処法
NETWORKDAYS関数は便利ですが、入力データに問題があるとエラーになります。
特に日付形式の誤りは非常によく発生します。
原因を知らないと「関数が壊れている」と勘違いしてしまうこともあります。
実務で慌てないようによくあるトラブルを確認しておきましょう。
・#VALUE!エラーが表示される
原因の多くは日付が文字列になっていることです。
例
2025年4月1日
が文字列として保存されているケースがあります。
セルの表示形式を日付に変更してください。
NETWORKDAYS関数でエラーが発生する原因の多くは、日付データの形式にあります。日付の計算そのものがうまくいかない場合は、関連記事「【Excel】日付の引き算ができない時の対処方法【#VALUE!や計算できない原因を解消】」もあわせてご確認ください。
・開始日と終了日が逆になっている
=NETWORKDAYS(B2,A2)
のように逆になるとマイナス値が返ることがあります。
開始日と終了日の順番を確認しましょう。
・祝日が日付形式になっていない
祝日リストが文字列の場合は正しく除外されません。
日付形式になっているか確認してください。
✅ NETWORKDAYS関数とNETWORKDAYS.INTL関数の違い
NETWORKDAYS関数だけで十分な場合もありますが、会社によって休日ルールが異なることがあります。
例えば土日休みではなく、
- 日曜のみ休み
- 金土休み
- シフト制
といったケースです。
その場合はNETWORKDAYS.INTL関数が便利です。
・NETWORKDAYS.INTL関数の構文
=NETWORKDAYS.INTL(開始日,終了日,週末,祝日)
・使用例
日曜日のみ休みの場合
=NETWORKDAYS.INTL(A2,B2,11)
通常の会社ならNETWORKDAYS関数で十分ですが、特殊な休日設定がある場合はこちらを利用します。
・営業日管理をさらに効率化したい場合
営業日数の計算だけでなく、納期や締切日を自動算出したいケースもあります。
そのような場合はWORKDAY関数を利用すると、「○営業日後の日付」を求めることができます。
営業日ベースでスケジュール管理を行う業務では、NETWORKDAYS関数と組み合わせることでより実践的な管理が可能になります。
また、大量の案件を扱う場合はExcel VBAで営業日計算を自動化する方法もあります。
土日や祝日を除外する仕組みを理解するためには、Excelが曜日をどのように判定しているかを知ることも重要です。曜日の取得や表示方法については、関連記事「【Excel】曜日を扱う関数まとめ|TEXT・WEEKDAY・CHOOSEの使い分け」を参考にしてください。
✅ まとめ:NETWORKDAYS関数で営業日数を正確に計算しよう
NETWORKDAYS関数は土日や祝日を除いた営業日数を簡単に計算できる便利な関数です。
今回解説したポイントは次のとおりです。
- NETWORKDAYS関数は営業日数を計算する関数
- 土日は自動的に除外される
- 祝日は別途範囲指定できる
- 納期管理や勤怠管理で活躍する
- 日付形式の誤りがエラーの主な原因
- 特殊な休日設定はNETWORKDAYS.INTL関数を使う
営業日数の計算を手作業で行うとミスが発生しやすくなります。
NETWORKDAYS関数を活用して、納期管理や勤務日数管理を効率化していきましょう。