Excelで開始日からある日数が経過した日付を求める方法をこちらの記事で説明しました。
今回は、この記事で紹介したWORKDAY関数の応用とも言える関数の紹介です。
Excelで終了日を計算する方法(週末の休日を土日以外にする)
WORKDAY.INTL関数の定義(使い方)は次の通りです。
なお、第3引数が1のときは、WORKDAY関数と同じ動きになります。
WORKDAY.INTL(開始日, 日数, [週末], [祭日])
- 開始日:計算の起点となる開始日を指定します(必ず設定が必要)
- 日数:開始日からの日数を指定します。(必ず設定が必要)
正の数を指定すると、開始日から日数分経過した後の日付が返値になります
負の数を指定すると、開始日より前に日数分遡った日付が返値になります - 週末:毎週の休日として扱う曜日を指定する数値※1(設定は任意)
- 祭日:営業日数のカウントから除外する日を指定します(設定は任意)
<返値>
開始日から日数を加算した日付(ただし、週末と祭日で指定された休日を除く)
第3引数の値 | 休日として扱われる曜日 | 第3引数の値 | 休日として扱われる曜日 |
---|---|---|---|
1 | 土曜日と日曜日 | 11 | 日曜日のみ |
2 | 日曜日と月曜日 | 12 | 月曜日のみ |
3 | 月曜日と火曜日 | 13 | 火曜日のみ |
4 | 火曜日と水曜日 | 14 | 水曜日のみ |
5 | 水曜日と木曜日 | 15 | 木曜日のみ |
6 | 木曜日と金曜日 | 16 | 金曜日のみ |
7 | 金曜日と土曜日 | 17 | 土曜日のみ |
WORKDAY.INTL関数の使用が適する場面
WORKDAY関数とWORKDAY.INTL関数の違いは、何曜日を週末(休日)に設定するかにあります。
この違いは、NETWORKDAYS関数とNETWORKDAYS.INTL関数を比較した時と同じです。
よって、WORKDAY.INTL関数の利用が最適になる条件は、NETWORKDAYS.INTL関数のそれと同様になります。
- 任意の曜日を休日(非稼働日)として扱う
- 開始日から指定した日数後(前)の日付を知りたい
- 任意の休日を設定し、その休日は営業日数に数えない
WORKDAY.INTL関数の使用例
WORKDAY関数の解説記事と同じく、プロジェクトでタスク管理表を作る場面を想定します。
WORKDAY関数で想定したタスク管理表の要件との違いは、赤字の部分です。
終了日を自動計算するタスク管理表
プロジェクトの各タスクに必要な作業日数を入力すれば、そのタスクの終了日が分かるようにタスク管理表を作りたいと考えています。
ただし、会社は土日が稼働日で、その代わりに月曜日がお休みとなっています。
- 各タスクの開始日とそれぞれのタスクにかかる作業日数から作業の完了期限を計算したい
- 毎週月曜日のみを休日とする
要件を満たすタスク管理表の作成例
上記の要件を満たすタスク管理表はこのようになりました。


G列には次のように入力しています。
第3引数を12と入力しているので、月曜日だけが休日として扱われて終了日が自動計算されます。
=WORKDAY.INTL([@[開始日(予定)]], [@[実働日数(予定)]]-1, 12, 祝日マスター[休日])
まとめ
では、この記事のまとめです。
- 任意の曜日および休日を除いて終了日を求めるときは、WORKDAY.INTL関数を使う
- WORKDAY関数とWORKDAY.INTL関数の違いは、土日を休日として固定するかである
なお、WORKDAY.INTL関数と同じような関数にNETWORKDAYS.INTLがあります。
この2つの関数は何が違うのか?
こちらの記事で確認してみてください。
コメント