仕事をしていると、よく「実働5日」などという表現で納期などの期日を言うことがありますね。
この「実働日数」は、会社の休業日を除いて営業日(稼働日)ベースで数えた日数のことで、一般には土曜・日曜・祝祭日を除くことが多いです。

Excelにもそうした日数計算してくれる関数がいくつか備わっています。
今回は「WORKDAY」(ワークデイ)関数と「WORKDAY.INTL」(ワークデイ・インターナショナル)関数をご紹介します。

WORKDAY」関数の書式は
 WORKDAY(開始日, 日数, [祭日])
です。

オプションである第3引数 [祭日]を省略すると、土日を除いた実働日数後の日にちを返します。
例えば、「2021/4/13」から実働 15日後の日付は「=WORKDAY("2021/4/13",15)」と入力し結果として「2021/5/4」と返されます。

下図の表は 2021年の「国民の祝日・休日」です。

 

これを加味してみましょう。
「日付」列の B2~B18セル範囲に「祝日」と名前付けしました。
先ほど同様に、「2021/4/13」から実働 15日後の日付は「=WORKDAY("2021/4/13",15,祝日)」と入力し、結果として「2021/5/10」と返されます。

ここでは、土日に加えて「国民の祝日・休日」を除外するようにしましたが、会社の夏季休暇や年末年始の休業日などもここに加えれば、より「実働日」「営業日」の実態に近づきます。

ちなみに、第2引数である「日数」は、マイナスの日数でも指定できます。
つまり、起算日より前の日付を得ることができます。

いかがでしょう。とても便利な関数ですね。
でも、会社や店舗等によっては土日休みのところばかりではないですね。
むしろ、土日は営業日で平日に定休日とするところもあります。

そのような場合は「WORKDAY.INTL」関数を使います。
WORKDAY.INTL」関数の書式は
 WORKDAY.INTL(開始日, 日数, [週末], [休日])
です。

第1引数「開始日」、第2引数「日数」は、先の「WORKDAY」関数と同じです。
なので、オプションである第3引数、第4引数を省略すると、第3引数を省略した「WORKDAY」関数と同じ動作となります。
「WORKDAY.INTL」関数の一番の特徴が第3引数「週末」にあります。
定休日とする曜日を指定できるオプションです。
指定方法は下記の「週末番号」または「文字列」を用います:

 

週末番号 文字列 週末の曜日
1 または省略 0000011 土曜日と日曜日
2 1000001 日曜日と月曜日
3 1100000 月曜日と火曜日
4 0110000 火曜日と水曜日
5 0011000 水曜日と木曜日
6 0001100 木曜日と金曜日
7 0000110 金曜日と土曜日
11 0000001 日曜日のみ
12 1000000 月曜日のみ
13 0100000 火曜日のみ
14 0010000 水曜日のみ
15 0001000 木曜日のみ
16 0000100 金曜日のみ
17 0000010 土曜日のみ

 

上記の週末番号の中に自社の定休日(非稼働日)のパターンがない場合は、「文字列」で指定します。
「0」が営業日、「1」が定休日で、月火水木金土日の順に指定します。
例えば「月・水・金」が定休日なら「1010100」となります。
「2021/4/13」から実働 15日後の日付は「=WORKDAY.INTL(TODAY(),15,"1010100")」と入力し「2021/5/9」と返されます。

第4引数「休日」は、先ほどの例の「祝日」データのように休業日を示すセル範囲を指定します。

いかがでしょうか。
仕事において、納期などの期限は重要な日付管理項目です。
これら「WORKDAY」関数と「WORKDAY.INTL」関数を使いこなしてみてください。