指定の曜日や祝日を除いた○営業日後の日付を求めるWORKDAY.INTL関数

解説記事内の画像はExcel 2016のものですが、操作方法は下記のバージョンで同じです。
  • Excel 2016, 2013, 2010
Excel 2016・2013・2010用 練習ファイル
(workday-intl.xlsx  12.2KB)

指定の曜日を除き、必要ならば祝日や独自の休業日も除いて、○営業日後または○営業日前の日付を求めるのがWORKDAY.INTL関数。
「ワークデイ・インターナショナルかんすう」と読みます。

WORKDAY関数は、土日を除き、必要ならば祝日や独自の休業日を除いてくれますが、今回ご紹介するWOKDAY.INTL関数は、土日に限らず、曜日を指定することができるので、土曜日が出勤で日曜日のみがお休みだったり、火曜と水曜がお休みといった、土日以外を除きたい場合も対応できるのが特徴です。

WORKDAY.INTL関数の数式 数式はこのようになります。
それぞれの引数を部分的に知りたい方は下記のリンクから、順を追ってWORKDAY.INTL関数について知りたい方は、このまま読み進めてください。

開始日 どの日付を基準にするのかを指定
日数 何営業日後(前)なのかを指定
週末
(省略可)
除外する曜日に該当する番号を指定
(番号はこの下の表をご覧ください)
省略した場合は土曜と日曜が除外する曜日となる
祭日
(省略可)
引数[週末]で指定した曜日以外に、除外する日付を指定

引数[週末]で指定する番号

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

もし、定休日が連休ではない場合や、週3日以上定休の場合など、この表には無いパターンの設定をしたいときには「WORKDAY.INTL関数で定休日が連休ではない場合や、週3日以上定休の場合の設定」をご覧ください。

WORKDAY.INTL関数の使用例 それでは、今回は図のような表で、A列に入力された注文日の、3営業日後の日付を、WORKDAY.INTL関数を使ってB列に表示してみたいと思います!

日付データの確認 WORKDAY.INTL関数の具体的な使い方に入る前に、まずは、この表の「つくり」について。
日付が入力されているA列のセルどれかを選択すると、そのセルに入力されている中身が、数式バーに映し出されます。
このセルに入力されているのは、数式バーに映し出されたとおり、「西暦/月/日」の、ただの日付データです。
今回はどの曜日が除かれているのかが一目で分かるよう、この日付データを、表示形式を使って「西暦/月/日(曜日)」という見え方にしています。
この日付と曜日の表示形式について分からない方は、まずは焦らず「曜日の表示形式で、曜日の自動表示もおまかせあれ!」をご覧ください。
もちろんこれは、あくまでも表を分かりやすくする工夫なので、この表示形式にしなければいけない、というわけではありません。

祝日、独自の休業日の一覧を作る

○営業日後の日付を出すとき、単に指定した曜日を除いた○営業日後の日付を出したいだけで、祝日や独自の休業日を除く必要がない場合には、この準備は必要ないので、次の章に進んでください。
ですが、祝日や、独自の休業日をも除きたい場合には、同じシートでも別のシートでも構わないので、まずは除きたい日の一覧を作っておきます

祝日一覧 これは、「エクセルで祝日一覧の作り方【Excel 活用術】」でご紹介している方法で作った祝日一覧に、

祝日一覧に独自の休業日も追加した 独自の休業日を加えたものです。
祝日以外の独自の休業日などが無ければ、追加する必要はありません。

「祝日一覧」シート 今回の例では、別のシートに除きたい日の一覧を作ってみました。

祝日一覧 祝日一覧には、日付の他に、その日が何の日なのかも合わせて入力されていますが、

祝日一覧は日付だけでもOK 基本的には、このように、除きたい日付さえ入力されていればそれでOKなので、その日が何の日なのかを入力しておくかどうかはお好みで。

WORKDAY.INTL関数の挿入

「Sheet1」に切り替える それでは早速、WORKDAY.INTL関数を使ってみます。
練習ファイルを操作しながらご覧頂いている方は、「Sheet1」に切り替えておきます。

今回の操作の確認 今回はB3番地に、A3番地に入力されている日付の、3営業日後の日付を表示させてみます。
今回の例では、休日として営業日から除外するのは、毎週水曜日と、前の章で作成した「祝日一覧」シートにある日付とします。

[関数の挿入]ボタン 3営業日後の日付を表示させたいB3番地を選択し、[関数の挿入]ボタンをクリックします。

[関数の挿入]ダイアログボックス 関数を選択するためのダイアログボックスが表示されます。
[関数の分類]を選択する際、どの関数がどの分類に属しているのかを覚えるのは面倒なので、このサイトでは[すべて表示]をオススメしていますが、今回のように、明らかに日付に関する関数だと分かるような場合には[日付/時刻]を選択すると、すべての関数よりも数が絞れて表示されるので探しやすくなります。
「WORKDAY.INTL」を選択し、[OK]ボタンをクリックします。

スポンサーリンク

引数[開始日]

引数[開始日] 最初の引数[開始日]には、どの日付を基準に何営業日後なのか、その基準となる日付を指定します。

引数[開始日]に基準となる日付を指定 今回はA3番地に入力されている日付を基準に、3営業日後を知りたいので、基準の日付となるA3番地を指定します。

引数[日数]

引数[日数] 続いては[日数]欄。
この欄には、何営業日後(前)の日付を知りたいのか、その日数を指定します。
今回は3営業日なので、「3」と入力します。
もし、3営業日の場合には、「-3」と入力します。


引数[日数]にセルを指定 また、何営業日後を示す数字がセルに入力されている場合には、[日数]欄には、そのセルを指定します。

引数[日数]で指定したセルに、絶対参照を設定 ただし、数式が完成した後、数式を他のセルにもコピーする場合には、コピーしたときに数式がズレておかしくならないよう、[F4]キーをポンッと1回押して、絶対参照にします。
この意味が分からない方は、「関数の数式のどこを固定すべきか判断できる人になるには」をご覧ください。
もちろん、この数式を他のセルにもコピーする必要が無ければ、絶対参照を設定する必要はありません。

引数[週末]

引数[週末] どの曜日を除外するのか、下の表より、該当する番号を指定します。
下の表のとおり、この引数[週末]は省略することも可能で、省略すると「土曜日と日曜日を除外する」という設定になります。
省略=除外する曜日は無い、ということにはならないので注意です。

引数[週末]で指定する番号

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

もし、定休日が連休ではない場合や、週3日以上定休の場合など、この表には無いパターンの設定をしたいときには「WORKDAY.INTL関数で定休日が連休ではない場合や、週3日以上定休の場合の設定」をご覧ください。

引数[週末]の指定 完了 今回は水曜日のみを除外したいので、「水曜日のみ」に対応する番号「14」を指定します。

引数[開始日]と[日数]、[週末]の指定 完了 ここまでで、[開始日]と[日数]、[週末]の指定が完了しました。
もし、指定した曜日だけを除けばそれでいい、という場合には、次の[祭日]は省略して、[OK]ボタンを押します。
祝日や独自の休業日も除きたい場合には、次の[祭日]欄も指定していきましょう。

引数[祭日]

WORKDAY.INTL関数では、引数[週末]で指定した曜日は除かれるので、その曜日だけ除外されればそれでいい場合には、この引数[祭日]は指定する必要がありません。

引数[祭日] 祝日や独自の休業日も除きたい場合に、この[祭日]欄を設定します。
この欄に設定するのは、

引数[祭日]に指定するのは、祝日一覧の日付のみ祝日、独自の休業日の一覧を作る」の章で作成した一覧表の、日付の部分のみ
祝日の名前が入っているセルや、先頭の見出し行は範囲に含めないようにするのがポイントです。

引数[祭日]欄に文字カーソルが入っている というわけで、祝日一覧の日付のセルすべてを範囲選択しますが、今回は別のシートに祝日一覧が作ってあるので、[祭日]欄に文字カーソルが入っている状態で、

「祝日一覧」シート 祝日一覧があるシート見出しをクリックし、

祝日一覧の日付のセルを範囲選択 シートが切り替わったら、祝日一覧の日付のセルを範囲選択します。

引数[祭日]の指定 引数[祭日]に祝日一覧の日付のセル範囲を指定することができました!
でも、ここで忘れてはいけないことが!

引数[祭日]に絶対参照を設定 今回の例では、数式が完成した後、他のセルにもこの数式をコピーするので、コピーしたときに数式がズレておかしくならないよう、[F4]キーをポンッと1回押して、絶対参照にします。
この意味が分からない方は、「関数の数式のどこを固定すべきか判断できる人になるには」をご覧ください。
もちろん、この数式を他のセルにもコピーする必要が無ければ、絶対参照を設定する必要はありません。
最後にダイアログボックス右下の[OK]ボタンをクリックすると、

WORKDAY-INTL関数の結果が数字になってしまった C3番地の日付から、水曜日、そして祝日と独自の休業日を除いた3営業日後の日付が表示されるはず!
なのに!!
もし、こんな風に日付ではなく数字が表示された場合も、焦る必要はありません。
次の章で対処していきましょう。

WORKDAY.INTL関数の結果が数字で表示された場合には

WORKDAY-INTL関数の結果が数字になってしまったExcelで日時を扱うために知っておきたいシリアル値(日付編)」でご紹介しているように、Excelでは、日付を数字で管理しています。
WORKDAY.INTL関数を設定した直後、結果が数字で表示された場合は、その管理している数字がもろに見えただけなので、この数字の見栄えを整えてあげればいいだけ。

表示形式の設定曜日の表示形式で、曜日の自動表示もおまかせあれ!」でご紹介している要領で、表示形式を整えてあげれば、

表示形式で日付と曜日が表示された ちゃんと表示されます。


オートフィルで数式をコピー あとは、残りのセルにもオートフィルで数式をコピーすれば、

WORKDAY-INTL関数の設定 完了 残りのセルにもWORKDAY.INTL関数を設定することができました!

スポンサーリンク