- 作成日 : 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関数を活用することで、作業の効率と信頼性を高めることができるでしょう。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
エクセルで絶対値を求めるABS関数の使い方を解説
エクセルにおいて、ABS関数は数値の絶対値(その数の符号を無視した正の値)を簡単に求めるための強力なツールです。負の数を正の数に変換することで、データの分析や評価が一層スムーズになります。この記事では、ABS関数の基本的な使い方をはじめ、具…
詳しくみるExcelのISBLANK関数とは?空白セルの判定とIF関数との組み合わせを解説
ISBLANK関数(読み方:イズ・ブランク関数)は、Excelでセルが空かどうかを判定するシンプルかつ実用的な関数です。 入力漏れチェックや条件付き処理に活用でき、IF関数などと組み合わせることで、見落としやエラーのないスマートなデータ管理…
詳しくみるTEXT関数の使い方や利用シーンをわかりやすく解説
ExcelやGoogleスプレッドシートでデータを扱う際、数値や日付を特定の形式で表示したいことがよくあります。そのようなときに便利なのが「TEXT関数」です。この関数を使うことで、任意のフォーマットでデータを表示し、見やすく整形することが…
詳しくみるSORTBY関数の使い方:複数の基準でデータを並べ替える方法
SORTBY関数は、指定した列(基準列)に基づいてデータを動的に並べ替える関数です。売上データの多角的な分析、成績表の順位付け、在庫リストの優先順位管理など、複数の基準でデータを整理する場面で活用されます。例えば、売上高の降順で並べ替えた後…
詳しくみるYEARFRAC関数完全ガイド:エクセルで期間を年単位で計算する方法
YEARFRAC関数は、2つの日付間の期間を年単位の小数で表す関数です。この関数を使用することで、正確な経過年数を計算でき、利息計算、勤続年数の算出、プロジェクト期間の測定など、様々なビジネスシーンで活用できます。 本記事では、YEARFR…
詳しくみるエクセルで四捨五入するには?ROUND関数の使い方をわかりやすく解説
四捨五入を行う際に欠かせないのが、エクセルの「ROUND関数」です。この関数は指定した小数点以下の桁数に基づいて、数値を四捨五入するためのもので、さまざまな業務や分析で活用されています。本記事では、ROUND関数の使い方をメインに、ROUN…
詳しくみる