- 作成日 : 2025年8月25日
NETWORKDAYS関数の使い方:エクセルで営業日数を正確に計算する
プロジェクトの期間計算や、納期管理、残業時間の計算など、エクセルで日付を扱う業務は多岐にわたります。その中でも、「土日を除いた営業日数(稼働日数)を正確に知りたい」というニーズは非常に多いのではないでしょうか? 祝日も考慮に入れるとなると、手作業での計算は手間がかかり、ミスも発生しやすくなります。
そんな時に便利なのが、エクセルの「NETWORKDAYS関数」です。NETWORKDAYS関数を使えば、開始日と終了日の間の営業日数を、土日だけでなく指定した祝日も除外して自動で計算してくれます。
この記事では、エクセル初心者の方にもNETWORKDAYS関数の基本的な使い方から、具体的な利用シーン、他の関数との組み合わせによる応用例、そしてよくあるエラーとその対策まで、網羅的に解説していきます。
目次
NETWORKDAYS関数の基本的な使い方
NETWORKDAYS関数は、指定した2つの日付の間の営業日数を返します。土日を除外するのはもちろん、任意で指定した祝日も除外できるのが大きな特徴です。
NETWORKDAYS関数の書式
NETWORKDAYS関数には、主に2つのバージョンがあります。
NETWORKDAYS関数 (古いバージョンと互換性あり)
=NETWORKDAYS(開始日, 終了日, [祭日])
NETWORKDAYS.INTL関数 (より柔軟な週末の指定)
=NETWORKDAYS.INTL(開始日, 終了日, [週末], [祭日])
- 開始日:営業日数を計算する期間の開始日を指定します。
- 終了日:営業日数を計算する期間の終了日を指定します。
- [祭日] (省略可能):祝日リストを含むセル範囲(例: A2:A10)を指定します。複数の日付を直接指定したい場合は、配列定数を使用します(例:{“2025/6/9″,”2025/6/23”})。第3(第4)引数に日付をカンマで複数並べる書き方はできません。
- [週末] (NETWORKDAYS.INTLのみ、省略可能):週末をどの曜日にするかを指定します。省略した場合は土日(1)が週末と見なされます。
| 番号 | 週末の種類 |
|---|---|
| 1 | 土日 (既定) |
| 2 | 日月 |
| 3 | 月火 |
| … | … |
| 7 | 金土 |
| 11 | 日のみ |
| 12 | 月のみ |
| … | … |
| 17 | 土のみ |
具体的な使用例
2025年6月の日付を例に見てみましょう。
- 開始日:2025/6/1 (日)
- 終了日:2025/6/30 (月)
そして、以下の祝日リストがあるとします。
| 祝日リスト |
| :——— |
| 2025/6/9 |
| 2025/6/23 |
- 式:=NETWORKDAYS(“2025/6/1”, “2025/6/30”, A2:A3)
- 結果:19
- 6月は30日間。
- 土日が9日 (6/1, 7, 8, 14, 15, 21, 22, 28, 29)
- 祝日が2日 (6/9, 6/23)
- 30 – 9 – 2 = 19 日
- 式:=NETWORKDAYS.INTL(“2025/6/1”, “2025/6/30”, 7, A2:A3)
- 結果:20
- 週末を金土に設定したため、休日の日数が変わります。
- 6月は30日間。
- 金土が8日 (6/6, 7, 13, 14, 20, 21, 27, 28)
- 祝日が2日 (6/9, 6/23)
- 30 – 8 – 2 = 20 日
NETWORKDAYS.INTL関数は、週休3日制の会社や、週末が土日ではない国での計算など、より多様な働き方に対応できるのがメリットです。
NETWORKDAYS関数の利用シーン
NETWORKDAYS関数は、ビジネスやプライベートにおいて、日付に関連する様々な計算でよく使われます。
1. プロジェクトの進捗管理と納期計算
プロジェクトの開始日から終了日までの実質的な作業日数を把握することで、現実的なスケジュールを立てたり、進捗状況を正確に評価したりできます。
- 開始日:2025/7/1
- 終了日:2025/7/31
- 祝日リスト:2025/7/21(海の日)
=NETWORKDAYS(“2025/7/1”, “2025/7/31”, 祝日リスト範囲) を使うと、営業日数を自動で算出できます。
2. 従業員の勤怠管理と給与計算
従業員の勤務日数や残業時間の計算において、休日を除外した実働日数を算出する際に利用できます。
- 対象期間の開始日と終了日
- 会社の休日(祝日)リスト
これにより、正確な日割り給与や勤怠の算出が可能になります。
3. イベントや研修の開催期間計画
開催期間中に土日や祝日を避けて、実質的なプログラム開催日数を計算する際に便利です。
例:5日間の研修を計画する際に、開始日と終了日の間に必要な営業日数を確認する
4. 契約期間や保証期間の営業日数換算
法的な契約や保証期間において、「営業日で○日」と定められている場合に、具体的な終了日を算出する際の基準として利用できます。
NETWORKDAYS関数の応用・他関数との組み合わせ
NETWORKDAYS関数は単体でも強力ですが、他の日付関数や論理関数と組み合わせれば、実務に即した日程管理が行えます。
1. WORKDAY関数(N日後の営業日を計算)との組み合わせ
NETWORKDAYS関数が「期間内の営業日数」を計算するのに対し、WORKDAY関数は「指定した営業日数後の日付」を計算します。これらを組み合わせることで、プロジェクト計画の正確性を高めるのに役立ちます。
- 開始日:2025/8/1
- 必要営業日数:10
- 祝日リスト
=WORKDAY(開始日, 必要営業日数, 祝日リスト範囲)
これにより、特定のタスク完了に必要な営業日数を元に、具体的な終了日を特定できます。NETWORKDAYS関数で期間を算出し、WORKDAY関数で終了日を特定するといった使い方ができます。
2. IF関数や条件付き書式との組み合わせ
例えば、営業日数が特定のしきい値を超えた場合に警告を表示したり、色を付けたりすることができます。
例:プロジェクトの営業日数が20日を超えたら「長期プロジェクト」と表示
=IF(NETWORKDAYS(開始日, 終了日, 祝日リスト範囲)>20, “長期プロジェクト”, “通常プロジェクト”)
3. YEAR関数やMONTH関数との組み合わせ
年次や月次の集計を行う際に、NETWORKDAYS関数で計算した営業日数を基にデータを分析できます。
例:特定の月の営業日数を自動で計算し、月別レポートに反映
月の最初の日と最後の日をDATE関数やEOMONTH関数で動的に生成し、NETWORKDAYS関数に渡します。
NETWORKDAYS関数のよくあるエラーと対策
NETWORKDAYS関数は、日付の入力形式や祝日リストの扱いでエラーが発生することがあります。
1. #VALUE! エラー
#VALUE! エラーは、日付の引数に有効な日付形式でない値や、数値として認識できない文字列を渡した場合に発生します。
- =NETWORKDAYS(“令和6年1月1日”, “令和6年1月31日”) (エクセルが認識しない和暦表記)
- =NETWORKDAYS(“開始日”, “終了日”) (文字列を直接入力)
対策:
日付は、エクセルが認識できる形式(例: “YYYY/MM/DD”、”MM/DD/YYYY”)で入力するか、DATE関数を使って指定してください。セル参照の場合も、そのセルに入力されている値が有効な日付であることを確認しましょう。
例: =NETWORKDAYS(DATE(2025,1,1), DATE(2025,1,31))
2. #NUM! エラー
#NUM! は、開始日または終了日が日付シリアルの範囲外にあるときに発生します。
注意:開始日が終了日より後でもエラーにはならず、負の営業日数が返ります(NETWORKDAYS/NETWORKDAYS.INTL 共通)。
対策:DATE 関数で有効な年月日に正す/入力範囲を見直す。結果を常に0以上にしたい場合は、
=NETWORKDAYS(MIN(開始日, 終了日), MAX(開始日, 終了日), 祝日リスト範囲)
を使います。
また、NETWORKDAYS.INTL の[週末]が無効な形式(例:週末文字列の長さが7でない、0/1以外を含む など)の場合は #VALUE! になります。
3. 祝日リストの参照ミスや書式間違い
祝日リストが正しく参照されていなかったり、リスト内の日付が有効な日付形式でなかったりすると、意図しない計算結果になったり、エラーになったりします。
- 祝日リストのセル範囲が正しいか確認してください。
- 祝日リスト内の各セルが、エクセルが認識できる有効な日付形式で入力されているか確認してください。文字列として入力されている場合は、日付として認識されません。
NETWORKDAYS関数は、営業日数を算出し日程管理を効率化する関数
NETWORKDAYS関数は、開始日と終了日の間の営業日数を自動で計算できる便利な日付関数です。土日だけでなく、任意の祝日も除外できるため、納期管理・勤怠集計・契約期間の管理など、実務に直結する日数計算に最適です。
また、NETWORKDAYS.INTL関数を使えば、週末の定義を柔軟に変更できるため、週休3日制や海外の休日体系にも対応できます。さらに、WORKDAY関数やIF関数などと組み合わせることで、スケジュールの自動計算・進捗判定・レポート出力にも応用が可能です。
入力ミスや形式の違いによるエラーを避けるためには、日付形式の確認や祝日リストの整備が欠かせません。日程管理や営業日換算において、NETWORKDAYS関数を活用することで、作業の効率と信頼性を高めることができるでしょう。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
スプレッドシートのXLOOKUP関数とは?使い方や複数条件、VLOOKUPとの違いを解説
大量のデータから必要な情報を素早く探し出したいとき、Googleスプレッドシートの XLOOKUP関数 が便利です。 2022年に導入された新しい検索関数で、従来のVLOOKUPやINDEX/MATCHの制限を解消し、左右両方向への検索やエ…
詳しくみるスプレッドシートでデータを表に変換するには?テーブルの活用方法と解除手順を解説
スプレッドシートにはExcelのようなテーブル設定はありませんが、交互の背景色やフィルターを組み合わせて見やすく整え、ARRAYFORMULAなどで数式を全行に適用することで、似た効果を得られます。 本記事では、スプレッドシートでデータをテ…
詳しくみるスプレッドシートで複数選択を使いこなすには?セル・シート・プルダウンの効率的な選択方法から選択できない時の対処法まで解説
Googleスプレッドシートで大量のデータを効率的に処理するには、複数選択の技術が不可欠です。複数のセルを一度に編集、複数シートの同時操作、プルダウンリストでの複数項目選択など、適切な選択方法を知ることで作業時間を大幅に短縮できます。連続し…
詳しくみるエクセルで円を千円単位に変換する方法をわかりやすく解説
エクセルを使って円を千円単位に変換するのは、実務において非常に便利な操作です。特に、予算や売上の集計時に千円単位で表示することは、視覚的にもわかりやすくなります。本記事では、エクセルで円を千円単位に変換する方法を、ステップバイステップで解説…
詳しくみるエクセルで見やすい円グラフを作る方法を解説
エクセルを使って円グラフを作成することは、データを視覚的に表現するための効果的な方法です。円グラフは、全体に対する各要素の割合を簡潔に示すことができ、特にプレゼンテーションや報告書において、情報を直感的に理解してもらう手助けとなります。本記…
詳しくみるLN関数の使い方:エクセルで自然対数を計算する
エクセルで数学的な計算を行う際、自然対数を求めたいと思ったことはありませんか?「LN関数」は、自然対数を手軽に求められる関数です。自然対数は、科学や金融、統計などの分野でよく使われます。 この記事では、エクセル初心者の方にもLN関数の基本的…
詳しくみる