【Excel】期間中の日数を求める関数「NETWORKDAYS」の使い方を解説します

Excel・VBA

締め切りまであと作業日は何日あるのか・・・日数の計算って案外面倒くさいですよね。
一ヶ月の日数は28日(うるう年なら29日)、30日、31日でバラバラだし、休みは土日だけでなく祝日や会社によっては創立記念日なんかもある。

そんな時活躍するのが「NETWORKDAYS」という稼動日(営業日)が何日あるかを求める関数です。
例を挙げながら使い方を解説していきます。

スポンサードリンク

NETWORKDAYSの書式

NETWORKDAYS(開始日, 終了日, [祝日])

開始日 … 起算日を表す日付を指定します。
終了日 … 対象期間の最終日を表す日付指定します。
祝日  … 省略可能。稼動日数の計算から除外する日付を指定します。
      ここで指定しないと、祝日(祭日)が営業日としてカウントされてしまいます。
      日付を直接書いてもいいし、セルの範囲を指定してもいいです。

NETWORKDAYSの使用例

NETWORKDAYSの仕様例を紹介します。7/13~7/20の間の稼働日を求める例で考えてみます。

このように入力してみましょう。日数は「5日」と出ています。

日数を求めたいE1には、
=NETWORKDAYS(B1,B2,B5)
を入力します。

開始日 : B1 : 2016/7/13
終了日 : B2 : 2016/7/20
祝日  : B5 : 2016/7/18
です。

7/13~7/20の間には、土日の他にも海の日(7/18)があるので、B5には海の日を設定して除外します。

結果は、5日となりました。

確認

求めた5日という日数が正しいか、確認してみましょう。
7/13  1日  (開始日)
7/14  2日
7/15  3日
7/16  除外
7/17  除外
7/18  祭日の指定により除外
7/19  4日
7/20  5日  (終了日)

と、5日で間違いないですね!

NETWORKDAYSの使用例2

日付を直接指定した場合の例も紹介しておきます。
07022
E1には、
=NETWORKDAYS(B1,B2,"2016/7/18")
と入力されています。
さっきはセル指定でしたけど、今度は日付を直接しています。除外したい日付が少ない場合はこれでもいいですね。
直接指定する場合はダブルコーテーション「"」で囲むのを忘れずに。

DATE関数を使ってもOK。この場合はダブルコーテーションは不要です。
=NETWORKDAYS(B1,B2, DATE(2016,7,18))

関連記事

これと似た関数の「WORKDAYS」という、XX営業日後が何日かを求める関数もコチラで紹介しています。

スポンサードリンク

ITリテラシー・プログラミングのまとめ記事