Excel。今日から土日と火曜を除いた10日後の日付を算出したい
<WORKDAY関数・WORKDAY.INTL関数>
見積書などの有効期限を、単純に今日から10日後というのであれば、日付に「+10」すれば簡単に算出することができますが、今日から10日後なんだけど、土日と火曜日を除いた日付を算出したい場合は、どのようにしたらいいのでしょうか?ということで、今回は、
「土日を除く10日後」
「火曜日を除く10日後」
「土日と火曜日を除く10日後」
を算出していきます。
【土日・祝日を除くなら、WORKDAY関数】
土日・祝日を除いた日を算出するだけならば、WORKDAY関数を使えば簡単に算出することができます。カレンダーで確認してみると、2日から10日後なので、12月16日月曜日を算出するはずです。
では、B2をクリックして、WORKDAY関数ダイアログボックスを表示します。
開始日は、A2。今回は、2019年12月2日月曜日です。
日数は、10日後なので、「10」と設定します。
今回は、祝日の設定は除きますので、OKボタンをクリックします。
算出されたようですが、シリアル値で算出されてしまいましたので、書式のコピーを使って、A2の書式をB2に書式をコピーしましょう。
カレンダーを使って確認したように、12月16日を算出することができました。
【土日ではなく火曜日を除くなら、WORKDAY.INTL関数】
土日ではなくて、火曜日を除くならどうしたらいいのでしょうか?そこで、登場するのが「WORKDAY.INTL関数」このINTLは、インターナショナルと読みます。
このWORKDAY.INTL関数は、ダイアログボックスを使うよりも、手入力で設定するほうが楽だと思いますので、今回は、手入力で作っていきます。
除外したい曜日の番号を選択します。火曜日のみ除外したいので、13を設定します。
C2の数式は、
=WORKDAY.INTL(A2,10,13)
シリアル値で算出されますので、書式をコピーして確認すると、12月14日を算出します。念のため、カレンダーで確認してみましょう。
火曜日を除くと、10日後は、確かに14日で間違いありません。
それでは、土日と火曜日を除く場合どのようにしたらいいのでしょうか?
【月曜から日曜を0と1で設定する】
火曜日を除く場合は、WORKDAY.INTL関数では、引数の「週末」を13とすることで、算出することができましたが、土日を加えるにはどうしたらいいのでしょうか?引数の「週末」は、月曜から日曜までを0と1をつかった7ケタの数値で、除外するか否かを設定することができるのです。
カレンダーで確認すると、12月19日と算出されればいいようです。
使う関数は、先程と同じ、WORKDAY.INTL関数です。
D2に次の数式を設定します。
=WORKDAY.INTL(A2,10,"0100011")
シリアル値で算出されますので、書式をコピーして、確認してみると、12月19日と算出されたことが確認できます。
さて、引数にある、"0100011"は何を意味にしているのかというと、月曜日から日曜日までを該当するなら1。
該当しないなら0と表現した数値です。
月 火 水 木 金 土 日
0 1 0 0 0 1 1
この方法を使うことで、水曜日から金曜日まで除いてなど、様々なパターンに対応することができます。