更新日:、 作成日:

エクセル NETWORKDAYS.INTL 関数:休日を除いた営業日数を取得する

はじめに

エクセルの NETWORKDAYS.INTL 関数の使い方を紹介します。

NETWORKDAYS.INTL 関数は開始日から終了日までの休日を除いた営業日数を取得します。

=NETWORKDAYS.INTL("2017/5/1","2017/5/7","0000011) のようにして、2017/5/1 (月) ~ 2017/5/7 (日) までの土日を休みにした営業日数 5 を取得します。

=NETWORKDAYS.INTL("2017/5/1","2017/5/7","0000000",{"2017/5/5"}) のようにして、2017/5/5 を休みにした営業日数 6 を取得します。

土日や休日、祭日を数えないで日付の期間の日数を計算するときに使用します。

営業日数後の日付を取得するには「WORKDAY.INTL 関数」を使用します。
日数や月数を計算する方法は「日付の日数計算をする」をご覧ください。

NETWORKDAYS.INTL 関数の引数

NETWORKDAYS.INTL(開始日, 終了日)
開始日から終了日までの日数を土日を含めないで求めます。

NETWORKDAYS.INTL(開始日, 終了日, 週末, 休日)
週末に指定した曜日と休日に指定した日付は日数に含めません。

引数「開始日」期間の開始となる日付を指定します。配列スピル化
引数「終了日」期間の終了となる日付を指定します。配列スピル化
引数「週末」省略できます。省略すると土日が休みです。
休日とする曜日を数値か 7 桁の文字列で指定します。
スピル化
引数「休日」省略できます。休日とする日付のセルの範囲を指定します。

配列スピル化:配列を指定すると結果が「スピル」します。セルの範囲はスピルできません。

スピル化:セルの範囲や配列を指定すると結果が「スピル」します。

引数「週末」

数値 文字列 週末
1 または省略0000011土曜日と日曜日
21000001日曜日と月曜日
31100000月曜日と火曜日
40110000火曜日と水曜日
50011000水曜日と木曜日
60001100木曜日と金曜日
70000110金曜日と土曜日
110000001日曜日
121000000月曜日
130100000火曜日
140010000水曜日
150001000木曜日
160000100金曜日
170000010土曜日

文字列で指定するときは 0 が営業日、1 が休みです。 月火水木金土日 の順番に指定します。土日が休みなら 0000011 です。

使い方

NETWORKDAYS.INTL 関数の使い方を紹介します。

1

営業日数を計算する

開始日から終了日までの営業日数を取得します。

=NETWORKDAYS.INTL(B3,C3,"0000000")
=NETWORKDAYS.INTL(B4,C4,"1111111")

引数「週末」が 0000000 ならすべて営業日、1111111 ならすべて休日です。

5

週末を指定して営業日数を計算する

2017/5/5 (金) ~ 2017/5/8 (月) までの週末を指定して営業日数を取得します。

=NETWORKDAYS.INTL("2017/5/5","2017/5/8",B3)
6

休日を指定して営業日数を計算する

2017/5/1 (月) ~ 終了日までの休日を指定して営業日数を取得します。週末はすべて営業日です。

=NETWORKDAYS.INTL(B3,C3,"0000000",$D$4:$D$5)
=NETWORKDAYS.INTL(B11,C11,"0000000",$D$12)
=NETWORKDAYS.INTL(B14,C14,"0000000",$D$15:$D$16)
7

解説

結果の営業日数から「WORKDAY.INTL 関数」を使用して終了日を取得できます。

引数「開始日」と引数「終了日」が同じ日なら、1 を取得します。その日が休みなら 0 を取得します。

引数「開始日」が引数「終了日」を超えるときはマイナスの日数になります。1 日前の日なら、当日と前日で -2 を取得します。その内 1 日休みなら -1 を取得します。

WORKDAY.INTL 関数」なら前の日は -1 を入力するので、マイナスの時だけ営業日数の扱いが異なります。

引数「週末」が 0000000 ならすべて営業日です。1111111 ならすべて休みなので結果は 0 を取得します。

引数「休日」に日付を直接入力するには配列にします。1 つだけ入力するときも配列にします。{"2000/1/1","2000/1/2" …}

引数に含まれている時刻は無視されます。

引数が「DATEVALUE 関数」や「TIMEVALUE 関数」で日付や時間に変換できない文字列のときは、エラー #VALUE! になります。