WORKDAY.INTL関数:指定した曜日と祭日を除いて指定した日数経過後の日付を取得する

WORKDAY.INTL 関数は Excel で用意されている関数の一つで、開始日から指定した日数を経過した日付を取得します。このとき週末に指定した曜日と別途指定した祭日は除いた上で日数経過後の日付を取得します。ここでは Excel における WORKDAY.INTL 関数の使い方について解説します。

※ Excel の対応バージョン : 365 web 2021 2019 2016 2013 2010

(Last modified: )

WORKDAY.INTL関数の使い方

WORKDAY.INTL 関数は開始日から指定した日数経過したあとの日付を取得します。ただし週末に指定した曜日と別途指定した祭日は除きます。

WORKDAY.INTL(開始日,日数,週末,祭日)

1 番目の引数に起点となる開始日の日付をシリアル値で指定し、 2 番目の引数に経過する日数を数値で指定します。 3 番目の引数は省略可能な引数で、週末の曜日をあらかじめ用意された値の中から選択して指定します。詳しくはこのあとは解説しますが、省略した場合は 1 が選択したものとみなされて週末の曜日は土曜日と日曜日になります。また曜日を表す文字列を指定することもできます。開始日から日数が経過した日付を取得しますが、日数には週末に指定した曜日や別途指定した祭日は含めません。

4 番目の引数は省略可能な引数で、指定する場合は祭日の日付をシリアル値で指定します。複数の祭日を設定する場合は、祭日の日付を Excel 上で連続したセルに入力した上でセル範囲として指定するか、日付を示すシリアル値の配列定数で指定します。

先ほど記述した週末の曜日について指定可能な値は次のとおりです。

週末番号週末の曜日
1 または省略土曜日と日曜日
2日曜日と月曜日
3月曜日と火曜日
4火曜日と水曜日
5水曜日と木曜日
6木曜日と金曜日
7金曜日と土曜日
11日曜日のみ
12月曜日のみ
13火曜日のみ
14水曜日のみ
15木曜日のみ
16金曜日のみ
17土曜日のみ

WORKDAY.INTL 関数の 3 番目の引数に 5 を指定した場合は、週末の曜日が水曜日と木曜日となり、この曜日は日数のカウントから除外されます。

3 番目の引数を文字列で指定する場合、"0000011" のように 7 つの 0 または 1 を組み合わせた文字列を指定します。月曜日が先頭の文字、日曜日が最後の文字に対応しており週末の曜日には 1 、それ以外は 0 を指定します。もし WORKDAY.INTL 関数の 3 番目の引数に "1000011" と指定した場合は週末の曜日が月曜日、土曜日、日曜日となり、この曜日は日数のカウントから除外されます。

サンプル1

例えば開始日に 2021/09/06 、日数に 10 、週末番号として 4 を指定した場合、経過後の日付は 2021/09/21 となります。

WORKDAY.INTL関数のサンプル(1)

実際に 1 番目の引数に 2021/09/06 を表すシリアル値 44445 、 2 番目の引数に 10 、 3 番目の引数に 4 を指定すると、 WORKDAY.INTL 関数は経過後の日付として 2021/09/20 を表すシリアル値 44459 を返します。

=WORKDAY.INTL(44445,10,4)
--> 44459

サンプル2

開始日に 2021/09/08 、日数に 8 、週末番号として 3 を指定したあと、 2021/09/15 と 2021/09/16 を祭日として指定した場合、経過後の日付は 2021/09/22 となります。

WORKDAY.INTL関数のサンプル(2)

実際に 1 番目の引数に 2021/09/08 を表すシリアル値 44447 、 2 番目の引数に 8 、 3 番目の引数に 3 、 4 番目の引数に 2021/09/15 を表すシリアル値の 44454 と 2021/09/16 を表すシリアル値の 44455 を配列定数の形で指定すると、 WORKDAY.INTL 関数は経過後の日付として 2021/09/22 を表すシリアル値 44461 を返します。

=WORKDAY.INTL(44447,8,3,{44454,44455})
--> 44461

※ 日付や時刻に関するシリアル値については「Excelにおける日付と時刻のシリアル値とは」を参照されてください。

※ 配列定数については「配列定数の利用方法」を参照されてください。

WORKDAY.INTL関数のサンプル

それでは実際に WORKDAY.INTL 関数を使ってみます。 Excel のシートに次のようにデータを入力しました。

WORKDAY.INTL関数のサンプル(1)

経過後の日付を表示する E3 セルを選択し、次のように入力しました。 WORKDAY.INTL 関数の 1 番目の引数に開始日のシリアル値が含まれる B3 セル、 2 番目の引数に日数を表す数値が含まれる C3 セル、 3 番目の引数に週末番号が含まれる D3 セル、 4 番目の引数に祭日の一覧をセル範囲の B6:B7 と指定します。

=WORKDAY.INTL(B3,C3,D3,B6:B7)

WORKDAY.INTL関数のサンプル(2)

Enter キーを押すと、 E3 セルには次のように表示されます。

WORKDAY.INTL関数のサンプル(3)

開始日から指定した日数が経過した日付を取得し E3 セルに表示しました。なおシリアル値で 44459 は 2021/09/20 を表すシリアル値です。

-- --

Excel における WORKDAY.INTL 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。