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 となります。
実際に 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 となります。
実際に 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 のシートに次のようにデータを入力しました。
経過後の日付を表示する E3 セルを選択し、次のように入力しました。 WORKDAY.INTL
関数の 1 番目の引数に開始日のシリアル値が含まれる B3 セル、 2 番目の引数に日数を表す数値が含まれる C3 セル、 3 番目の引数に週末番号が含まれる D3 セル、 4 番目の引数に祭日の一覧をセル範囲の B6:B7 と指定します。
=WORKDAY.INTL(B3,C3,D3,B6:B7)
Enter
キーを押すと、 E3 セルには次のように表示されます。
開始日から指定した日数が経過した日付を取得し E3 セルに表示しました。なおシリアル値で 44459 は 2021/09/20 を表すシリアル値です。
-- --
Excel における WORKDAY.INTL 関数の使い方について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。