12/27/2015

Excel。NETWORKDAYS。期間中の土日と祝日・祭日の日数を数える方法はありませんか?

Excel。期間中の土日と祝日・祭日の日数を数える方法はありませんか?

<NETWORKDAYS関数>


先日ご紹介した、期間内の祝日・祭日の日数を数える方法をご紹介したところ、
期間内の土日・祝祭日の数を数える方法を教えてほしいとのリクエストがありましたので、
今回はそれをご紹介します。

まず、今回も前回の時と同様に、
下記のような祝日・祭日の一覧を作っておかないといけません。

このような一覧が無いと、求めることが大変難しくなります。

さて、今回求めたいものの逆。
つまり、平日を算出するNETWORKDAYS関数というのはあるのですが、
今回求めたい、土日祝日・祭日の日数を算出する関数は残念ながら無いようなので、
アイディアが必要になりそうですね。

考え方としてですが、平日の日数を求めることは出来るわけですから、
その期間の日数から平日の日数を引けば、
土日祝日・祭日の日数を求めることが出来ることに気づきます。

ところが、Excelで日にちの減算には癖があります。

開始日と終了日を同日、今回は2016/1/1で入力してみます。

そして、G4は、=G3-G2 と数式を作成してみると、ゼロと算出されてしまいましたね。
けど、1日は存在している訳ですから、+1をする必要があります。

また、NETWORKDAYS関数も確認しておきましょう。

開始日を2016/1/1。終了日を2016/1/5。として、
今後はG4にNETWORKDAYS関数で算出してみましょう。

G4をクリックして、NETWORKDAYS関数ダイアログボックスを表示しましょう。

開始日は、G2。
終了日は、G3。
祭日は、B2:B17。
と入力してOKボタンをクリックしましょう。

4日と5日が平日ですよね。なので、2と算出されましたね。

ではいよいよ本題ですね。

G5にまずは、NETWORKDAYS関数ダイアログボックスを表示しましょう。

開始日は、G2。
終了日は、G3。
祭日は、B2:B17。
と入力してOKボタンをクリックしましょう。

まずは、平日の日数が算出できましたので、次にこの数式を修正していきます。
数式バーの=のあとをクリックして、カーソルを表示します。

そして、次のように数式を修正していきます。

=G3-G2+1-NETWORKDAYS(G2,G3,B2:B17)


すると、G5はどうなったかというと。

表示形式が、日付になってしまっていますので、
これでは何が何だかさっぱりわかりませんので、表示形式を変更していきます。

G5をクリックして、

表示形式を標準にしましょう。

3と算出されましたね1月1日が元日で祝日・1月2日は土曜日で、
1月3日が日曜日ということで、3日と算出されて、間違いありませんよね。

このようにちょっとした、アイディアで、数式を修正すると、
より一層、Excelのスキルがアップできますので、アレコレ考えてみるのも、
スキルアップには、最適かもしれませんね。