Excelでスケジュール管理や納期計算をする際、「土日と祝日を除いた営業日数を知りたい」と思ったことはありませんか?
そんなときに便利なのが、Excelの「NETWORKDAYS(ネットワークデイズ)」関数です。
この関数を使えば、開始日から終了日までの営業日数を簡単に計算できます。
本記事では、NETWORKDAYS関数の基本的な使い方から、応用例、エラー対処法までを丁寧に解説します。
初心者でもわかりやすいように、図や具体例を交えて説明しますので、日付計算に困っている方はぜひ参考にしてください。
NETWORKDAYS関数は、指定した2つの日付の間の「営業日数(平日)」を計算する関数です。
土日(標準)と任意の祝日リストを除外して日数を算出することができ、主に次のような場面で使われます。
関数の構文は以下の通りです:
=NETWORKDAYS(開始日, 終了日, [祝日])
引数の意味は以下のとおりです。
引数 | 説明 |
---|---|
開始日 | 計算を開始する日付 |
終了日 | 計算を終了する日付 |
祝日(省略可) | 除外する日付のリスト(国民の祝日など) |
たとえば、2025年5月1日から2025年5月10日までの営業日数を計算したいとします。
excelコピーする編集する=NETWORKDAYS(DATE(2025,5,1), DATE(2025,5,10))
この結果は「6」となります(5月3日・4日が土日なので除外)。
祝日が例えば5月6日だけだとした場合、以下のようにします。
excelコピーする編集する=NETWORKDAYS(DATE(2025,5,1), DATE(2025,5,10), DATE(2025,5,6))
この場合の結果は「5」になります。
A2セルに開始日、B2セルに終了日がある場合:
=NETWORKDAYS(A2, B2)
プロジェクトのスケジュール表などで使われることが多いです。
社員の勤務期間から出勤日数を算出したいときに使います。
有給などの休暇リストをC列に入力しておけば、
=NETWORKDAYS(A2, B2, C2:C10)
とすることで正確な勤務日数が求められます。
NETWORKDAYS関数はVBAからも呼び出し可能なので、自動計算と組み合わせて請求書やレポートの生成にも活用できます。
似たような関数に「NETWORKDAYS.INTL」があります。
こちらは土日以外の曜日を休日として指定できる点が特徴です。
たとえば、土曜のみを休みにしたい場合:
=NETWORKDAYS.INTL(A2, B2, "1111100")
曜日の順序は「月〜日」なので、「1」は休日、「0」は稼働日です。
これによりシフト勤務や海外のカレンダーにも柔軟に対応できます。
「シリアル値」や文字列として日付を入力していると、正しく計算されません。
日付は必ずExcelで認識できる形式で入力しましょう。
開始日よりも終了日が前の場合でも、関数は自動的に順序を補正しますが、結果はマイナスになることがあります。
計算ロジックを明確にしたい場合はIF関数で順序チェックを加えると安心です。
祝日を範囲で指定するとき、日付セルに空白が混ざっていると正しく動作しない場合があります。
空白セルは除外する、または祝日範囲を明確に定義しましょう。
excelコピーする編集する=NETWORKDAYS(A2, B2, 祝日)
NETWORKDAYS
は使えますが、細かな動作の違いがある場合があります。NETWORKDAYS関数は、シンプルでありながら非常に強力な関数です。
納期の管理や勤務日数の算出など、日付の間にある「平日」だけを数える場面で重宝されます。
祝日リストや曜日指定も組み合わせれば、あらゆる業務の自動化や効率化に役立ちます。
ぜひあなたの業務にも取り入れて、Excelの力を最大限に活用してください。