Menu

NETWORKDAYS関数とWORKDAY関数の使い方: 営業日を数える

=NETWORKDAYS(A2,B2)は、A2からB2までの営業日(月曜から金曜)を両端を含めて数えます。=WORKDAY(A2,10)はA2の10営業日後の日付を返します。どちらも祝日のリストを除けます。

このページのシートはすべて実際に動きます。数値や数式を変えると再計算されます。

=NETWORKDAYS(A2,B2)は、A2の日付からB2の日付までの営業日を両端を含めて数えます。営業日とは月曜から金曜のことです。=WORKDAY(A2,10)はその逆で、A2の10営業日後の日付を返します。

プロジェクトごとの営業日数
C2
ABCD
1StartEndWorking daysCalendar days
22026-03-022026-03-131012
32026-03-022026-03-312230
42026-03-062026-03-0924
52026-03-072026-03-0802
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

1つ目のプロジェクトは月曜から翌週の金曜までで、暦日は12日、営業日は10日です。2日からの2026年3月全体では22営業日です。金曜から次の月曜までは2で、週末だけなら0です。終了日を変えて、件数が動くのを見てください。(単純な日数については日付の間の日数を参照してください。)

祝日を除いたNETWORKDAYS

3つ目の引数は、週末に加えて除く日付の範囲です。祝日は専用の列(または別のシート)に置き、数式を下にコピーしても動かないよう$で範囲を固定します。

祝日を除いた営業日数
C2
ABCDE
1StartEndNo holidaysWith holidaysHolidays
22026-03-302026-04-101082026-04-03
32026-04-012026-04-3022202026-04-06
42026-04-272026-05-081092026-05-01
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

3月30日から4月10日までには平日が10日あり、そのうち2日が祝日(2026年の聖金曜日とイースターマンデー)なので、営業日は8日です。引かれるのは各期間の中にある祝日だけです。最後の行で引かれるのは5月1日だけです。E列の祝日を消すと、件数は元に戻ります。

WORKDAY: 営業日で数えた期日

WORKDAY(start_date, days, [holidays])は、開始日から指定した営業日数の後の日付を返します。開始日そのものは数えず、結果が週末や祝日になることはありません。

営業日で数えた期日
C2
ABCDE
1ReceivedDaysDueDue (holidays)Holidays
22026-03-27102026-04-102026-04-142026-04-03
32026-04-0232026-04-072026-04-092026-04-06
42026-04-2452026-05-012026-05-042026-05-01
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

2026-03-27(金曜)に受け付けた10営業日の依頼は2026-04-10が期日で、聖金曜日とイースターマンデーを飛ばすと2026-04-14になります。日数をマイナスにすると、WORKDAYは逆向きに数えます。=WORKDAY(A2,-5)は1週間前の営業日です。「次の営業日」を求めるには1を使い、すでに営業日である日付はそのままにしたいなら=WORKDAY(A2-1,1)を使います。

ほかの曜日の週末: NETWORKDAYS.INTL

週末が土曜と日曜でない場合、NETWORKDAYS.INTLは3つ目の引数に週末のコードを、4つ目に祝日を受け取ります。

週末コード
土曜、日曜1(既定)
日曜、月曜2
金曜、土曜7
日曜のみ11
土曜のみ17
任意のパターン月曜から始まる7文字で、1 = 休み:"0000011"
週末の違いによる2026年3月の営業日数
C2
ABCDEF
1WeekendCodeWorking daysStartEnd
2Saturday and Sunday1222026-03-012026-03-31
3Friday and Saturday723
4Sunday only1126
5Mon, Wed, Fri only010101113
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

2026年3月の営業日は、土日が休みなら22日、金土が休みなら23日、日曜だけが休みなら26日です。最後の行はパートタイムのパターンです。0101011は週末に加えて火曜と木曜も休みにするので、13日が残ります。セルに入れる0101011のようなコードは文字列でなければなりません(先頭にアポストロフィを付けて'0101011と入力します)。そうしないとExcelが先頭の0を落とします。

WORKDAY.INTLは期日について同じことをします。2026年3月2日(月曜)の10営業日後について、Excelの結果は次のとおりです:

=WORKDAY.INTL(DATE(2026,3,2), 10)              2026-03-16   (Saturday and Sunday off)
=WORKDAY.INTL(DATE(2026,3,2), 10, 7)           2026-03-16   (Friday and Saturday off)
=WORKDAY.INTL(DATE(2026,3,2), 10, 11)          2026-03-13   (Sunday off)
=WORKDAY.INTL(DATE(2026,3,2), 10, "0000011")   2026-03-16   (same as code 1)

練習: 営業日数と期日

やってみよう: 営業日数
C2
ABCDE
1StartEndWorking daysHolidays
22026-04-012026-04-302026-04-03
32026-04-06
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

やってみよう: C2に、E2:E3の祝日を除いて、A2からB2までの営業日を両端を含めて数えてください。

やってみよう: 期日
C2
ABC
1ReceivedDaysDue
22026-05-148
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

やってみよう: C2に、A2の日付からB2の営業日数だけ後の日付を返してください(週末は飛ばし、祝日はなし)。

NETWORKDAYSは両端を数え、WORKDAYは数えない

2つの関数は開始日の扱いが1日違うので、一緒に使うと驚くことがあります。同じ週の月曜から金曜までのNETWORKDAYSは5で、両方の日を数えます。その月曜から5日のWORKDAYは次の月曜になります。翌日から数え始めるからです。

2つの関数の1日のずれ
C2
ABC
1StartWORKDAY(A2,5)NETWORKDAYS back
22026-03-022026-03-096
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

WORKDAYは2026-03-09を返し、2026-03-02からその日付までのNETWORKDAYSは5ではなく6になります。「今日を含めて5営業日以内」の期日なら、A2が営業日のとき=WORKDAY(A2,4)を使います。チームでどちらの数え方を使うかを一度決めて、数式の隣に書いておいてください。

よくある質問

Excelで2つの日付の間の営業日数を数えるには?

=NETWORKDAYS(A2,B2)は、A2からB2までの月曜から金曜を両端を含めて数えます。祝日の日付の範囲を3つ目の引数に加えると、それも除きます:=NETWORKDAYS(A2,B2,$E$2:$E$4)。

Excelで日付に営業日を足すには?

=WORKDAY(A2,10)は、土曜と日曜を飛ばしてA2の10営業日後の日付を返します。マイナスの数なら過去に戻ります:=WORKDAY(A2,-5)。3つ目の引数に祝日の範囲を加えます。

NETWORKDAYSとNETWORKDAYS.INTLの違いは何ですか?

NETWORKDAYSは常に土曜と日曜を週末として扱います。NETWORKDAYS.INTLは週末の引数を受け取ります。金曜と土曜なら7、日曜だけなら11、または月曜から始まり1が休みを表す"0000011"のような7文字の文字列です。

NETWORKDAYSは開始日を含みますか?

含みます。NETWORKDAYSは開始日と終了日が営業日なら両方を数えるので、月曜から次の金曜までは5です。WORKDAYは開始日を数えません。=WORKDAY(A2,1)は次の営業日です。

祝日が週末に重なるとどうなりますか?

特に何も起こりません。NETWORKDAYSとWORKDAYは週末をもともと飛ばすので、土曜の祝日が二重に引かれることはありません。

Coddyのプログラミング言語のイラスト

Coddyでコードを学ぼう

始める