仕事をしていると、よく「実働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」関数を使いこなしてみてください。