Excel WORKDAY関数で営業日を簡単に計算する方法


Excel WORKDAY関数で営業日を簡単に計算する方法

こんにちは、人事のゆりえです(´-`*)
日ごとに寒くなっていますね。寒いのは苦手ですが、寒い日の朝の空が好きです。

さて、他社との取り引きや、チームの仲間と一緒に仕事をするうえで、「営業日」という概念はとても大切ですよね。しかし、土日や祝日、夏期休暇などの非営業日があることで、「営業日」が数えづらいことがあります。

そこで今回は、ExcelのWORKDAY関数を使った営業日の計算方法をお伝えします。

WORKDAY関数とは?

営業日は、WORKDAYという関数を使って算出します。この関数により、指定した開始日を起点にして●●営業日後、もしくは●●営業日前の日付を求めることが可能です。

WORKDAY関数
=WORKDAY(開始日, 日数, [祝日])

この関数では、「起算とする日付」「求めたい●●営業日後の日数」「祝日となる日付」の3つのパラメータを指定します。なお、[祝日]は不要であれば指定する必要はありません。

参考:WORKDAY関数

この関数を用いることで、見積書や発注書、請求書などのさまざまな書類で必要な「完了日」「入金日」などを簡単に算出することができます。以下、WORKDAY関数の使い方を具体的に見ていきましょう。

土日を除く営業日を計算する

=WORKDAY(開始日, 日数)

WORKDAY関数は土日を除く平日を計算する関数です。休日が土日のみの場合は、「開始日」と「日数」の2つのパラメータを設定します。それだけです。

 
01b

たとえば、このような「見積書」を作るとします。H13セルの「納品日」のところで、納品日を自動で計算するようにしたい! そんなときは、WORKDAY関数の出番です。

 

=WORKDAY(K9,K10)

02b

数式に数字を直接入力すると汎用性がなくなり使いづらいので、別のセルから読み込むと便利です。「開始日」は見積書の中の「発行日」、「日数」には「工数(人日)」の数値を読込みます。

 
03b

これで、11月2日(月)から土日を除く10営業日後の日程を求めることができました。

土日と祝日を除く営業日を計算する

ところで、11/3(火)は文化の日。祝日ですね。祝日を非営業日とする場合は、3つめのパラメータ[祝日]を活用します。

これは、祝日を記述したデータリストを別に用意する必要があります。下記の図のように、向こう1年分くらいの祝日をリストにしましょう。

04
▲「休日」シート

更新が面倒だから、この先、何年分も作っておきたい!と思いますが、今後も国民の祝日は変動する可能性があります。たとえば、2016年から8月11日が「山の日」になり、祝日が増えますね。だからこそ、このようなデータを運用する際には定期的にチェックし、追加と更新をしていきましょう。

 

=WORKDAY(K9,K10,休日!B:B)

05b

休日リストができたら、WORKDAY関数の[祝日]部分で、祝日の日付が記入されている範囲(上記「休日」シートのB列)を選択します。

 
07b

はい。11月16日(月)だった納品日が、11月17日(火)に変わりました。祝日のパラメータを加えることで11月3日(火)が非営業日と判断されたためです。とっても簡単ですね。

会社の特別休暇を反映する

国民の祝日以外にも、夏休みや年末年始、創立記念日などなど、会社によって様々な特別休暇がありますので、それらも反映してみましょう。

08

たとえば、11月4日(水)~6日(金)が特別休暇として非営業日になるとします。上図のように休日リストに追加しましょう。

 
09b

はい。11月17日(火)だった納品日が、11月20日(金)に変わりましたね。このように決まっている休日をあらかじめ休日リストに追加しておくことで、「納品日」の数式を変更する必要はなくなるので便利です。

休みが土日じゃない場合も超簡単♩

固定の休みが土日じゃない、または週1日しかない場合も、簡単に営業日の計算ができるんです♩ この場合は、WORKDAY.INTLという関数を使用します。

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

「開始日」「日数」「祝日」はWORKDAY関数と同じパラメータですが、「WORKDAY.INTL」関数では、これに[週末]というパラメータが追加されています。

休みの曜日に合わせて、下記のテーブルで決められた数字を[週末]の部分に入力することで、その曜日を休みとした営業日を計算してくれるんです。

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

実際に具体的な例を用いてWORKDAY.INTL関数を使ってみましょう。

例(1)休日が水曜日と木曜日の場合

週末番号は「5」になります。工数を2人日とすると、

=WORKDAY.INTL(K9,K10,5,休日)

11b

納品日は11月7日(土)となります。
※11月4日(水)~6日(金)の特別休暇はリストから削除しています

例(2)休日が水曜日のみの場合

週末番号は「14」になります。同様に、工数を2人日とすると、

=WORKDAY.INTL(K9,K10,14,休日)

13b

納品日は11月6日(金)となります。

はい。土日以外が固定の休日である場合も、簡単に営業日の計算ができました。

参考:WORKDAY.INTL関数

実践♩いろいろな営業日を求める

今日から●●営業日後の日付を求める

あれ、今日から3営業日後って何日だ!?と思うときってよくありますよね。

開始日を指定するのではなく、「今日」を起点に営業日を計算したいときは、TODAY関数を使えば常に自動で計算してくれます。

=WORKDAY(TODAY(), 日数, [祝日])

「開始日」のところを「TODAY()」とするだけ。Excelファイルを開いている時点の日付を自動的に代入してくれるので、つど「開始日」を変更する必要がなく、とてつもなく便利です。

例(1)今日から3営業日後を知りたい

この記事を書いている本日は10月22日(木)なのですが、今日から3営業日後を求めてみましょう。
※休日は土日祝日です。11月4日(水)~6日(金)の特別休暇はリストから削除しています

=WORKDAY(TODAY(),K10,休日)

15b

発行日が何日になっていても、納品日は10月26日(月)となります。

翌月の第●●営業日の日付を求める

「今日から」ではなく、「来月」の第●●営業日を求めたいときは、起点を来月の1日にすると求められます。

「来月の1日」を計算するには、TODAY関数とEOMONTH関数(指定した月の最終日の日付を返す関数)を使って今月の月末の日付を求め、+1日します。

関数はコレ
=WORKDAY(EOMONTH(TODAY(),0)+1, 日数, [祝日])

数式が入れ子になっていてうじゃうじゃしていますが、つまり・・・

=WORKDAY(EOMONTH(TODAY(),0)+1, 日数, [祝日])
=WORKDAY(今月の最終日の翌日, 日数, [祝日])
=WORKDAY(来月の1日, 日数, [祝日])

・・・ということです。なるほどー φ(.. )

▲▲月の最終営業日の日付を求める

これは、請求書の入金日の指定などでかなり使いますね。同様に、TODAY関数とEOMONTH関数を駆使します。

例(1)▲▲月の最終営業日

=WORKDAY(EOMONTH(“▲▲月1日”,0)+1,-1,[祝日])

上の計算式の「 “▲▲月1日” 」の部分に求めたい▲▲月の1日の日付を入力するだけ( ” ” も入力します)で、その月の最終営業日を計算してくれるから不思議。

つまり・・・

=WORKDAY(EOMONTH(“▲▲月1日”,0)+1, -1, [祝日])
=WORKDAY(▲▲月の最終日の翌日, 1営業日前, [祝日])

・・・ということです。WORKDAY関数は、マイナスを使って開始日より「前」の営業日も計算できるので、その応用ですね。ふむ φ(.. )

※ちなみに・・・「翌日の1営業日前」ってもとに戻るだけじゃ!?と思うかもしれません。なぜ関数を入れ子にしてまでWORKDAY関数を使うのかといいますと、EOMONTH関数で計算した▲▲月の最終日が土日や祝日といった「休日」にあたる場合があるからです。休日を除いた最終営業日を求めるためにこのような数式になっています

例(2)今月の最終営業日

例(1)の日付部分をTODAY関数に変更すると、今月の最終営業日を自動的に計算します。

=WORKDAY(EOMONTH(TODAY(),0)+1,-1,[祝日])

例(3)翌月の最終営業日

関数はコレ
=WORKDAY(EOMONTH(EOMONTH(TODAY(),0)+1,0)+1,-1, [祝日])

つまり・・・

=WORKDAY(EOMONTH(EOMONTH(TODAY(),0)+1,0)+1, -1, [祝日])
=WORKDAY(「来月の最終日」の翌日, 1営業日前, [祝日])

・・・と、なります。ちょっとこんがらがりそうですが、翌々月1日から考えて1営業日前ということです。

さいごに

仕事をするうえで大切な「営業日・稼働日」のいろいろな計算方法をまとめましたが、いかがでしたか。ぜひ参考にしていただければ幸いです。

エクセルたのしい(´-`*)

ありがとうございました。

この記事を書いた人

ゆりえ
ゆりえ 管理部 2015年入社
管理部のゆりえです。
上野育ちの下町っこです。おいしいものを食べることと散歩と眠ることが趣味です。
よろしくおねがいします(*´-`*)ノ