Excelで日付計算を簡素化する:WORKDAY.INTLを使った終了日の計算方法

WORKDAY.INTLを使った終了日の計算方法 数式/関数
この記事は約4分で読めます。

Excelで開始日からある日数が経過した日付を求める方法をこちらの記事で説明しました。
今回は、この記事で紹介したWORKDAY関数の応用とも言える関数の紹介です。

この記事でわかること
  • WORKDAY.INTL関数を使って終了日を計算する方法がわかる
  • WORKDAY.INTL関数は週末の休日に任意設定できる

Excelで終了日を計算する方法(週末の休日を土日以外にする)

WORKDAY.INTL関数の定義(使い方)は次の通りです。
なお、第3引数が1のときは、WORKDAY関数と同じ動きになります。

WORKDAY.INTL関数の定義

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

  1. 開始日:計算の起点となる開始日を指定します(必ず設定が必要)
  2. 日数:開始日からの日数を指定します。(必ず設定が必要)
        正の数を指定すると、開始日から日数分経過した後の日付が返値になります
        負の数を指定すると、開始日より前に日数分遡った日付が返値になります
  3. 週末:毎週の休日として扱う曜日を指定する数値※1(設定は任意)
  4. 祭日:営業日数のカウントから除外する日を指定します(設定は任意)

<返値>
開始日から日数を加算した日付(ただし、週末祭日で指定された休日を除く)

第3引数の値休日として扱われる曜日第3引数の値休日として扱われる曜日
1土曜日と日曜日11日曜日のみ
2日曜日と月曜日12月曜日のみ
3月曜日と火曜日13火曜日のみ
4火曜日と水曜日14水曜日のみ
5水曜日と木曜日15木曜日のみ
6木曜日と金曜日16金曜日のみ
7金曜日と土曜日17土曜日のみ
※1 毎週の休日として扱う曜日を指定する数値の一覧

WORKDAY.INTL関数の使用が適する場面

WORKDAY関数とWORKDAY.INTL関数の違いは、何曜日を週末(休日)に設定するかにあります。
この違いは、NETWORKDAYS関数とNETWORKDAYS.INTL関数を比較した時と同じです。
よって、WORKDAY.INTL関数の利用が最適になる条件は、NETWORKDAYS.INTL関数のそれと同様になります。

WORKDAY.INTL関数の利用が最適になる条件
  • 任意の曜日を休日(非稼働日)として扱う
  • 開始日から指定した日数後(前)の日付を知りたい
  • 任意の休日を設定し、その休日は営業日数に数えない

WORKDAY.INTL関数の使用例

WORKDAY関数の解説記事と同じく、プロジェクトでタスク管理表を作る場面を想定します。
WORKDAY関数で想定したタスク管理表の要件との違いは、赤字の部分です。

終了日を自動計算するタスク管理表

プロジェクトの各タスクに必要な作業日数を入力すれば、そのタスクの終了日が分かるようにタスク管理表を作りたいと考えています。
ただし、会社は土日が稼働日で、その代わりに月曜日がお休みとなっています。

タスク管理表の要件
  • 各タスクの開始日とそれぞれのタスクにかかる作業日数から作業の完了期限を計算したい
  • 毎週月曜日のみを休日とする

要件を満たすタスク管理表の作成例

上記の要件を満たすタスク管理表はこのようになりました。

WORKDAY.INTL関数を利用するタスク管理表
WORKDAY.INTL関数を使ったタスク管理表の例
タスク管理表で参照する祝日リスト
タスク管理表が参照する祝日マスター

G列には次のように入力しています。
第3引数を12と入力しているので、月曜日だけが休日として扱われて終了日が自動計算されます。

=WORKDAY.INTL([@[開始日(予定)]], [@[実働日数(予定)]]-1, 12, 祝日マスター[休日])

まとめ

では、この記事のまとめです。

この記事のまとめ
  • 任意の曜日および休日を除いて終了日を求めるときは、WORKDAY.INTL関数を使う
  • WORKDAY関数とWORKDAY.INTL関数の違いは、土日を休日として固定するかである

なお、WORKDAY.INTL関数と同じような関数にNETWORKDAYS.INTLがあります。
この2つの関数は何が違うのか?
こちらの記事で確認してみてください。

コメント

タイトルとURLをコピーしました