• 作成日 : 2025年8月25日

NETWORKDAYS関数の使い方:エクセルで営業日数を正確に計算する

プロジェクトの期間計算や、納期管理、残業時間の計算など、エクセルで日付を扱う業務は多岐にわたります。その中でも、「土日を除いた営業日数(稼働日数)を正確に知りたい」というニーズは非常に多いのではないでしょうか? 祝日も考慮に入れるとなると、手作業での計算は手間がかかり、ミスも発生しやすくなります。

そんな時に便利なのが、エクセルの「NETWORKDAYS関数」です。NETWORKDAYS関数を使えば、開始日と終了日の間の営業日数を、土日だけでなく指定した祝日も除外して自動で計算してくれます。

この記事では、エクセル初心者の方にもNETWORKDAYS関数の基本的な使い方から、具体的な利用シーン、他の関数との組み合わせによる応用例、そしてよくあるエラーとその対策まで、網羅的に解説していきます。

NETWORKDAYS関数の基本的な使い方

NETWORKDAYS関数は、指定した2つの日付の間の営業日数を返します。土日を除外するのはもちろん、任意で指定した祝日も除外できるのが大きな特徴です。

NETWORKDAYS関数の書式

NETWORKDAYS関数には、主に2つのバージョンがあります。

NETWORKDAYS関数 (古いバージョンと互換性あり)

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

NETWORKDAYS.INTL関数 (より柔軟な週末の指定)

=NETWORKDAYS.INTL(開始日, 終了日, [週末], [祭日])

  • 開始日:営業日数を計算する期間の開始日を指定します。
  • 終了日:営業日数を計算する期間の終了日を指定します。
  • [祭日] (省略可能):祝日リストを含むセル範囲(例: A2:A10)を指定します。複数の日付を直接指定したい場合は、配列定数を使用します(例:{“2025/6/9″,”2025/6/23”})。第3(第4)引数に日付をカンマで複数並べる書き方はできません。
  • [週末] (NETWORKDAYS.INTLのみ、省略可能):週末をどの曜日にするかを指定します。省略した場合は土日(1)が週末と見なされます。
番号週末の種類
1土日 (既定)
2日月
3月火
7金土
11日のみ
12月のみ
17土のみ

具体的な使用例

2025年6月の日付を例に見てみましょう。

  • 開始日:2025/6/1 (日)
  • 終了日:2025/6/30 (月)

そして、以下の祝日リストがあるとします。

| 祝日リスト |

| :——— |

| 2025/6/9 |

| 2025/6/23 |

NETWORKDAYS関数 (土日と祝日を除外)
  • 式:=NETWORKDAYS(“2025/6/1”, “2025/6/30”, A2:A3)
  • 結果:19
    • 6月は30日間。
    • 土日が9日 (6/1, 7, 8, 14, 15, 21, 22, 28, 29)
    • 祝日が2日 (6/9, 6/23)
    • 30 – 9 – 2 = 19 日
NETWORKDAYS.INTL関数 (週末を金土、祝日を除外)
  • 式:=NETWORKDAYS.INTL(“2025/6/1”, “2025/6/30”, 7, A2:A3)
  • 結果:20
    • 週末を金土に設定したため、休日の日数が変わります。
    • 6月は30日間。
    • 金土が8日 (6/6, 7, 13, 14, 20, 21, 27, 28)
    • 祝日が2日 (6/9, 6/23)
    • 30 – 8 – 2 = 20 日

NETWORKDAYS.INTL関数は、週休3日制の会社や、週末が土日ではない国での計算など、より多様な働き方に対応できるのがメリットです。

NETWORKDAYS関数の利用シーン

NETWORKDAYS関数は、ビジネスやプライベートにおいて、日付に関連する様々な計算でよく使われます。

1. プロジェクトの進捗管理と納期計算

プロジェクトの開始日から終了日までの実質的な作業日数を把握することで、現実的なスケジュールを立てたり、進捗状況を正確に評価したりできます。

例:プロジェクトの作業工数を見積もる
  • 開始日:2025/7/1
  • 終了日:2025/7/31
  • 祝日リスト:2025/7/21(海の日)

=NETWORKDAYS(“2025/7/1”, “2025/7/31”, 祝日リスト範囲) を使うと、営業日数を自動で算出できます。

2. 従業員の勤怠管理と給与計算

従業員の勤務日数や残業時間の計算において、休日を除外した実働日数を算出する際に利用できます。

例:月の実働日数を計算して、月給を日割り計算する
  • 対象期間の開始日と終了日
  • 会社の休日(祝日)リスト

これにより、正確な日割り給与や勤怠の算出が可能になります。

3. イベントや研修の開催期間計画

開催期間中に土日や祝日を避けて、実質的なプログラム開催日数を計算する際に便利です。

例:5日間の研修を計画する際に、開始日と終了日の間に必要な営業日数を確認する

4. 契約期間や保証期間の営業日数換算

法的な契約や保証期間において、「営業日で○日」と定められている場合に、具体的な終了日を算出する際の基準として利用できます。

NETWORKDAYS関数の応用・他関数との組み合わせ

NETWORKDAYS関数は単体でも強力ですが、他の日付関数や論理関数と組み合わせれば、実務に即した日程管理が行えます。

1. WORKDAY関数(N日後の営業日を計算)との組み合わせ

NETWORKDAYS関数が「期間内の営業日数」を計算するのに対し、WORKDAY関数は「指定した営業日数後の日付」を計算します。これらを組み合わせることで、プロジェクト計画の正確性を高めるのに役立ちます。

例:10営業日後に完了するタスクの終了日を算出する
  • 開始日:2025/8/1
  • 必要営業日数:10
  • 祝日リスト

=WORKDAY(開始日, 必要営業日数, 祝日リスト範囲)

これにより、特定のタスク完了に必要な営業日数を元に、具体的な終了日を特定できます。NETWORKDAYS関数で期間を算出し、WORKDAY関数で終了日を特定するといった使い方ができます。

2. IF関数や条件付き書式との組み合わせ

例えば、営業日数が特定のしきい値を超えた場合に警告を表示したり、色を付けたりすることができます。

例:プロジェクトの営業日数が20日を超えたら「長期プロジェクト」と表示

=IF(NETWORKDAYS(開始日, 終了日, 祝日リスト範囲)>20, “長期プロジェクト”, “通常プロジェクト”)

3. YEAR関数やMONTH関数との組み合わせ

年次や月次の集計を行う際に、NETWORKDAYS関数で計算した営業日数を基にデータを分析できます。

例:特定の月の営業日数を自動で計算し、月別レポートに反映

月の最初の日と最後の日をDATE関数やEOMONTH関数で動的に生成し、NETWORKDAYS関数に渡します。

NETWORKDAYS関数のよくあるエラーと対策

NETWORKDAYS関数は、日付の入力形式や祝日リストの扱いでエラーが発生することがあります。

1. #VALUE! エラー

#VALUE! エラーは、日付の引数に有効な日付形式でない値や、数値として認識できない文字列を渡した場合に発生します。

誤った例
  • =NETWORKDAYS(“令和6年1月1日”, “令和6年1月31日”) (エクセルが認識しない和暦表記)
  • =NETWORKDAYS(“開始日”, “終了日”) (文字列を直接入力)

対策

日付は、エクセルが認識できる形式(例: “YYYY/MM/DD”、”MM/DD/YYYY”)で入力するか、DATE関数を使って指定してください。セル参照の場合も、そのセルに入力されている値が有効な日付であることを確認しましょう。

: =NETWORKDAYS(DATE(2025,1,1), DATE(2025,1,31))

2. #NUM! エラー

#NUM! は、開始日または終了日が日付シリアルの範囲外にあるときに発生します。

注意:開始日が終了日より後でもエラーにはならず、負の営業日数が返ります(NETWORKDAYS/NETWORKDAYS.INTL 共通)。

対策:DATE 関数で有効な年月日に正す/入力範囲を見直す。結果を常に0以上にしたい場合は、

=NETWORKDAYS(MIN(開始日, 終了日), MAX(開始日, 終了日), 祝日リスト範囲)

を使います。

また、NETWORKDAYS.INTL の[週末]が無効な形式(例:週末文字列の長さが7でない、0/1以外を含む など)の場合は #VALUE! になります。

3. 祝日リストの参照ミスや書式間違い

祝日リストが正しく参照されていなかったり、リスト内の日付が有効な日付形式でなかったりすると、意図しない計算結果になったり、エラーになったりします。

対策
  • 祝日リストのセル範囲が正しいか確認してください。
  • 祝日リスト内の各セルが、エクセルが認識できる有効な日付形式で入力されているか確認してください。文字列として入力されている場合は、日付として認識されません。

NETWORKDAYS関数は、営業日数を算出し日程管理を効率化する関数

NETWORKDAYS関数は、開始日と終了日の間の営業日数を自動で計算できる便利な日付関数です。土日だけでなく、任意の祝日も除外できるため、納期管理・勤怠集計・契約期間の管理など、実務に直結する日数計算に最適です。

また、NETWORKDAYS.INTL関数を使えば、週末の定義を柔軟に変更できるため、週休3日制や海外の休日体系にも対応できます。さらに、WORKDAY関数やIF関数などと組み合わせることで、スケジュールの自動計算・進捗判定・レポート出力にも応用が可能です。

入力ミスや形式の違いによるエラーを避けるためには、日付形式の確認や祝日リストの整備が欠かせません。日程管理や営業日換算において、NETWORKDAYS関数を活用することで、作業の効率と信頼性を高めることができるでしょう。


※ 掲載している情報は記事更新時点のものです。

※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。

関連記事