更新日:、 作成日:
エクセル WORKDAY.INTL 関数:休日を除いた営業日数後の日付を計算する
はじめに
エクセルの WORKDAY.INTL 関数の使い方を紹介します。
WORKDAY.INTL 関数は開始日から休日を除いた営業日数後の日付を取得します。
=WORKDAY.INTL("2017/5/5",1,"0000011) のようにして、2017/5/5 (金) ~ 土日を休みにした 1 日後の 2017/5/8 (月) を取得します。
=WORKDAY.INTL("2017/5/1",7,"0000000",{"2017/5/5"}) のようにして、2017/5/5 を休みにした 1 週間後の 2017/5/9 (火) を取得します。
土日や休日、祭日を数えないで営業日数後の日付を計算するときに使用します。
WORKDAY.INTL 関数の引数
WORKDAY.INTL(開始日, 営業日数)
開始日から土日を含めないで営業日数後の日付を求めます。
WORKDAY.INTL(開始日, 営業日数, 週末, 休日)
週末に指定した曜日と休日に指定した日付は営業日数に含めません。
引数「開始日」 | 基準となる日付を指定します。 | 配列スピル化 |
引数「営業日数」 | 引数「開始日」の何日後の日付を取得するかを指定します。引数「週末」と引数「休日」で指定した曜日と日付は数えません。 | 配列スピル化 |
引数「週末」 | 省略できます。省略すると土日が休みです。 休日とする曜日を数値か 7 桁の文字列で指定します。 | スピル化 |
引数「休日」 | 省略できます。休日とする日付のセルの範囲を指定します。 |
配列スピル化:配列を指定すると結果が「スピル」します。セルの範囲はスピルできません。
スピル化:セルの範囲や配列を指定すると結果が「スピル」します。
引数「週末」
数値 | 文字列 | 週末 |
1 または省略 | 0000011 | 土曜日と日曜日 |
2 | 1000001 | 日曜日と月曜日 |
3 | 1100000 | 月曜日と火曜日 |
4 | 0110000 | 火曜日と水曜日 |
5 | 0011000 | 水曜日と木曜日 |
6 | 0001100 | 木曜日と金曜日 |
7 | 0000110 | 金曜日と土曜日 |
11 | 0000001 | 日曜日 |
12 | 1000000 | 月曜日 |
13 | 0100000 | 火曜日 |
14 | 0010000 | 水曜日 |
15 | 0001000 | 木曜日 |
16 | 0000100 | 金曜日 |
17 | 0000010 | 土曜日 |
文字列で指定するときは 0 が営業日、1 が休みです。 月火水木金土日 の順番に指定します。土日が休みなら 0000011 です。
スポンサーリンク
使い方
WORKDAY.INTL 関数の使い方を紹介します。
営業日数を計算した日付を取得する
開始日から営業日数後の日付を取得します。
=WORKDAY.INTL(B4,C4,"1111111")
引数「週末」が 0000000 ならすべて営業日、1111111 ならすべて休日です。
結果が数値になっているのは、日付の実際の値は数値なのでその値を取得します。セルの書式設定から日付形式で表示できます。
結果は営業日を取得するため、すべて休日のときはエラーになります。
週末を指定して計算した日付を取得する
2017/5/5 (金) ~ 2 日後の日付を週末を指定して取得します。
休日を指定して計算した日付を取得する
2017/5/1 (月) ~ 営業日数後の日付を休日を指定して取得します。週末はすべて営業日です。
=WORKDAY.INTL(B12,C12,"0000000",$D$13)
=WORKDAY.INTL(B15,C15,"0000000",$D$16:$D$17)
解説
日付の実際の値は数値なのでその値を取得します。2000/1/1 の実際の値は 36526 です。
結果を日付形式で表示するにはセルの書式設定から日付を選択します。
結果の終了日から「NETWORKDAYS.INTL 関数」を使用して営業日数を取得できます。
引数「開始日」が 2000/1/1 で引数「営業日数」が 1 なら 2000/1/2 の日付を取得します。その日が休みの日なら、その次の営業日を取得します。
引数「営業日数」が 0 なら引数「開始日」を取得します。その日が休みの日でも同じです。
引数「開始日」が 2000/1/2 で引数「営業日数」が -1 なら 2000/1/1 の日付を取得します。その日が休みの日なら、その前の営業日を取得します。
「NETWORKDAYS.INTL 関数」なら前の日は -2 を取得するので、マイナスの時だけ営業日数の扱いが異なります。
引数「週末」が 0000000 ならすべて営業日です。1111111 ならすべて休みなので結果はエラー #VALUE! になります。
引数「休日」に日付を直接入力するには配列にします。{"2000/1/1","2000/1/2" …}
引数に含まれている時刻は無視されます。
引数が「DATEVALUE 関数」や「TIMEVALUE 関数」で日付や時間に変換できない文字列のときは、エラー #VALUE! になります。
スポンサーリンク