ExcelのNETWORKDAYS.INTL関数の使い方|休日パターンを自由に指定して稼働日数を計算する

スポンサーリンク

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"(すべて休み)はエラー扱いになる
  • 01 以外の文字を含めるとエラー

この文字列指定方式を覚えておくと、「週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点です。

項目NETWORKDAYSNETWORKDAYS.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文字でない/01 以外を含む文字列を "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の日付計算完全ガイド もあわせてチェックしてみてください。勤怠集計・工数計算・期限管理といった実務で役立つ日付関数を、一気に押さえられます。

タイトルとURLをコピーしました