土日・祝日を除いた○営業日後の日付を求めるWORKDAY関数

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

土日を除き、必要ならば祝日や独自の休業日も除いて、○営業日後または○営業日前の日付を求めるのがWORKDAY関数。
除きたい曜日が土日ではなく、別の曜日のときにはWORKDA.INTL関数を使います。

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

開始日 どの日付を基準にするのかを指定
日数 何営業日後(前)なのかを指定
祭日
(省略可)
土曜・日曜以外に除外する日付を指定

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

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

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

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

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

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

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

祝日一覧を別シートに作成 祝日一覧には、日付の他に、その日が何の日なのかも合わせて入力されていますが、

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

WORKDAY関数の挿入

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

D3番地にWORKDAY関数を設定してみる 今回はD3番地に、C3番地に入力されている日付の、3営業日後の日付を表示させてみます。

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

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

スポンサーリンク

引数[開始日]

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

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

引数[日数]

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


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

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


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

引数[祭日]

WORKDAY関数では、土曜・日曜は、何も指定しなくても自動的に除かれるので、除外するのが土日だけの場合には、この引数[祭日]は指定する必要がありません。

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

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

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

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

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

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

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

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

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

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

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

WORKDAY関数を設定したセルに日付の表示形式を設定完了 ちゃんと表示されます。


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

WORKDAY関数を使った表が完成 残りのセルにもWORKDAY関数を設定することができました!

スポンサーリンク