ExcelのNETWORKDAYS.INTL関数は、開始日から終了日までの期間のうち、指定した休日を除いた稼働日数を計算する関数です。通常のNETWORKDAYS関数と違い「週末を土日以外に自由に設定できる」点が最大の特徴で、週休1日の店舗や、特殊なシフトの勤怠集計、業種ごとに異なる非稼働日の計算で大活躍します。
この記事では、NETWORKDAYS.INTL関数の基本構文から、週末番号・7桁の文字列コードの使い方、NETWORKDAYS関数やWORKDAY.INTL関数との使い分け、実務で使える応用例まで詳しく解説します。
NETWORKDAYS.INTL関数とは
読み方は「ネットワークデイズ・インターナショナル」。「指定した期間の稼働日数を、自由な休日パターンで計算する」関数です。Excel 2010 以降で利用でき、Microsoft 365・Excel 2021・Web 版でもそのまま使えます。
できること
- 開始日〜終了日の期間内から、指定した週末・祝日を除いた稼働日数を数える
- 週末を土日に限らず、任意の曜日の組み合わせで指定できる
- 祝日リストを別途渡して除外できる
構文
=NETWORKDAYS.INTL( 開始日 , 終了日 , [週末] , [休日] )
| 引数 | 必須 | 内容 |
|---|---|---|
| 開始日 | 必須 | 集計期間の開始日 |
| 終了日 | 必須 | 集計期間の終了日 |
| 週末 | 省略可 | 週末とみなす曜日を番号または7桁の文字列で指定(省略時は土日) |
| 休日 | 省略可 | 祝日や店休日などをセル範囲・配列定数で指定 |
引数「週末」の指定方法
NETWORKDAYS.INTL関数の肝になるのが「週末」引数です。指定方法は 2通り あります。
方法1: 番号で指定する(定型パターン)
連続する2日間、または1日だけの週末であれば、以下の番号を使うと簡単です。
| 番号 | 週末にする曜日 |
|---|---|
| 1(省略時) | 土曜日・日曜日 |
| 2 | 日曜日・月曜日 |
| 3 | 月曜日・火曜日 |
| 4 | 火曜日・水曜日 |
| 5 | 水曜日・木曜日 |
| 6 | 木曜日・金曜日 |
| 7 | 金曜日・土曜日 |
| 11 | 日曜日のみ |
| 12 | 月曜日のみ |
| 13 | 火曜日のみ |
| 14 | 水曜日のみ |
| 15 | 木曜日のみ |
| 16 | 金曜日のみ |
| 17 | 土曜日のみ |
週休1日の飲食店や美容室などで「定休日は火曜日だけ」というケースでは 13 を指定します。
=NETWORKDAYS.INTL(A1, A2, 13)
方法2: 7桁の文字列コードで指定する(自由パターン)
「火曜と木曜が休み」など、番号に用意されていない組み合わせは、0と1だけで構成された7桁の文字列で指定します。
- 左から 月・火・水・木・金・土・日 の順
1= 非稼働日(休み)0= 稼働日
たとえば火曜・木曜を週末にしたい場合は次の通りです。
=NETWORKDAYS.INTL(A1, A2, "0101000")
文字列コード指定の注意点
- 必ずダブルクォーテーションで囲む(文字列として扱う必要があるため)
- 7文字ちょうどでないと
#VALUE!エラーになる "1111111"(すべて休み)はエラー扱いになる0と1以外の文字を含めるとエラー
この文字列指定方式を覚えておくと、「週3勤務」「隔日勤務」など特殊な勤務形態のカウントにも柔軟に対応できます。
引数「休日」で祝日・臨時休業日を除外する
週末とは別に、祝日や年末年始、臨時休業日といった不定期な休日を除外したい場合は、第4引数に日付リストを指定します。
=NETWORKDAYS.INTL(A1, A2, 1, D1:D10)
D1:D10 に祝日の日付を並べておけば、土日に加えてその日付も非稼働日として計算されます。セル範囲のほか、配列定数 {"2026/1/1","2026/1/2"} のような形でも指定可能です。
祝日リストは、一度シートに用意しておけば他の日付関数と使い回せるので、専用の「祝日マスタシート」を作っておくと便利です。
NETWORKDAYS.INTL関数の使用例
例1: 月間の稼働日数を計算する(週休2日・祝日あり)
A1に 2026/4/1、A2に 2026/4/30、D1:D2 に祝日(4/29、4/30)が入力されているとします。
=NETWORKDAYS.INTL(A1, A2, 1, D1:D2)
4月の平日から祝日を差し引いた稼働日数が返ります。
例2: 定休日が水曜のみの店舗(週休1日)
=NETWORKDAYS.INTL(A1, A2, 14)
番号 14(水曜のみ休み)を指定するだけで、月間の営業日数を算出できます。
例3: 火曜・木曜・日曜が休み(週休3日)
=NETWORKDAYS.INTL(A1, A2, "0101001")
番号にはない組み合わせでも、文字列コードなら自由に表現できます。
例4: プロジェクト期間の稼働日数を算出
プロジェクトの着手日〜完了日までの実働日数をガントチャートや工数管理表で把握したいとき、NETWORKDAYS.INTL関数を使えば、休日を除いた純粋な作業可能日数が一発で出せます。工期短縮やリスケ判断の材料になるので、進捗管理シートにぜひ組み込んでみてください。
NETWORKDAYS関数との違い
Excelには、よく似た NETWORKDAYS関数 もあります。両者の違いは「週末を変更できるかどうか」の1点です。
| 項目 | NETWORKDAYS | NETWORKDAYS.INTL |
|---|---|---|
| 週末の指定 | 土日固定 | 自由に指定可能 |
| 引数の数 | 3つ(開始日・終了日・休日) | 4つ(+週末) |
| 対応バージョン | Excel 2007 以降 | Excel 2010 以降 |
| 向いている場面 | 一般的な週休2日カレンダー | 週休1日・週3日勤務・特殊シフト |
一般的な土日休みの会社なら NETWORKDAYS 関数で十分ですが、業種や勤務形態が変わった瞬間に対応できなくなります。迷ったらより汎用性の高い NETWORKDAYS.INTL を使うのが無難です。
WORKDAY.INTL関数との使い分け
もう1つ混同しやすいのが WORKDAY.INTL関数 です。名前が似ていますが、返す値がまったく違います。
| 関数 | 返すもの | ユースケース |
|---|---|---|
| NETWORKDAYS.INTL | 期間内の稼働日数(数値) | 勤怠集計・稼働工数計算 |
| WORKDAY.INTL | 起算日から〇営業日後の日付 | 納期計算・期限日の算出 |
「いつからいつまでに何日働くか」を知りたいなら NETWORKDAYS.INTL、「起算日から〇日後の営業日はいつか」を知りたいなら WORKDAY.INTL、と覚えると迷いません。通常版の WORKDAY関数 とあわせて押さえておくと、日付計算のパターンを一通りカバーできます。
よくあるエラーと対処法
| 症状 | 原因 | 対処 |
|---|---|---|
#VALUE! が出る | 週末文字列が7文字でない/0・1 以外を含む | 文字列を "0000011" の形式で入力し直す |
#NUM! が出る | 番号に存在しない値(8〜10など)を指定 | 番号は 1〜7 または 11〜17 のみ |
| 結果が合わない | 休日リストが文字列になっている | 祝日セルを日付型(シリアル値)で入力 |
| 結果が 0 | 終了日が開始日より前 | 開始日・終了日の順序を確認 |
週末指定が「全曜日休み」になるような組み合わせ("1111111")もエラーになります。必ず1つ以上の稼働日が含まれるよう指定してください。
まとめ
NETWORKDAYS.INTL関数は、NETWORKDAYS関数に「週末を自由に指定できる機能」を追加した上位互換の関数です。
- 週末は 番号(1〜7、11〜17)または 7桁の文字列コードで指定できる
- 週休1日の店舗・特殊シフトの勤怠管理にも対応できる
- 祝日や臨時休業日は第4引数のセル範囲で除外する
- 「稼働日数を数える」のが NETWORKDAYS.INTL、「営業日後の日付を求める」のが WORKDAY.INTL
日付計算をさらに体系的に学びたい方は Excelの日付計算完全ガイド もあわせてチェックしてみてください。勤怠集計・工数計算・期限管理といった実務で役立つ日付関数を、一気に押さえられます。
