エクセルで月ごとの営業日(稼働日)を求めるにはどうしたらいいか?
エクセルには、そのものずばりの『営業日(稼働日)をカウントするNETWORDAYS関数』が用意されています。
この関数は開始日と終了日を引数(入力)とすることで、その期間の営業日を自動計算してくれます。
- 指定期間の営業日数の計算方法(土日除外)
- 指定期間の営業日数の計算方法(土日+祝日を除外)
まずは、土日だけを除外した営業日数の計算方法を紹介し、次に土日+祝日を除いた営業日数の計算方法を紹介していきます。
ぜひ参考にしてください!
営業日(稼働日)を計算する
まずは例として、指定期間(2019/05/01~2019/05/31の5月)で営業日数を求めてみます。
あらかじめ、開始日付のセル(B9)に5月の開始日『2019/5/1』、終了日付のセル(C9)に終了日『2019/5/31』を入力しています。
営業日を表示させるセル(D9)に、次のNETWORKDAYS関数を入力します。
=NETWORKDAYS(B9, C9)
NETWORKDAYS関数は、最初の引数(この例ではB9)に『営業日を求めたい開始日付』を指定し、二番目の引数(この例ではC9)に終了日付を指定します。
この2つの入力情報から、土日を除いた営業日数(稼働日数)が計算(カウント)されます。
エクセル内のカレンダーで確認すると、2019年5月はグレーの土日を除いた日数が23日となっていて、NETWORKDAYS関数も同じ23日を表示しているのがわかると思います。
祝日を除外した営業日(稼働日)を計算する
次は、土日に更に祝日を除外した営業日数を計算する場合。
本当の営業日数という意味では、こちらの方が正確な日数といえます。
営業日数を表示させるセル(D9)に、次のNETWORKDAYS関数を入力。
=NETWORKDAYS(B9, C9, 祝日カレンダー!祝日)
NETWORKDAYS関数の第一引数、第二引数は先に紹介した方法と同じで、今回第三引数として『祝日』を指定しています。
『祝日』を指定することで、営業日数から土日に加えて祝日までも除外されるようになります。
そして、この例では『祝日』には『祝日カレンダー!祝日』と書いていますね。
これは、『祝日カレンダー』シートの『祝日』という名前で定義されているセルの範囲を示しています。
なお、『!』はその前の部分がシート名であることを示す区切り文字です。
実際の『祝日カレンダー』シートはこのようになります。
『祝日カレンダー』のB2~B24の範囲に年間の祝日を入力しています。
そして、この祝日の入力範囲(B2~B24)は『祝日』という名前で定義されていることがわかります。(左上の赤枠部分)
わざわざ名前をつけなくても、NETWORKDAY関数の第三引数で『祝日カレンダー!B9:B14』のように、セルの範囲を指定してもかまいません。
なお、セルの範囲に対して名前をつける場合は、次の手順でできます。
- 名前をつけたい範囲のセルを選択
- 左上の『名前ボックス』で名前を入力してEnterキー
編集防止に祝日のシートは非表示にする
年間の祝日を入力したシートを別に設けることはいいことですが、ただこのままだと祝日が誤って編集される可能性があります。
それを防ぐためにも、祝日のシートは見えないように『非表示』状態にしておきましょう。
手順は簡単です。
非表示にしたい祝日のシートを選択し(①)、右クリックメニューで表示される『非表示』を選択(②)
これで、シートの見出しから祝日のシートが見えなくなります。
非表示にした祝日のシートを復活(再表示)させる手順は次の通り。
どのシートでもいいので見出しを選択し(①)、右クリックメニューの『再表示』を選択(②)
隠していたシートを選択して『OK』を押すと、再表示されます。