- 作成日 : 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関数を活用することで、作業の効率と信頼性を高めることができるでしょう。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
RANDBETWEEN関数の使い方:エクセルで指定範囲の乱数を生成する方法
RANDBETWEEN関数は、指定した最小値と最大値の間でランダムな整数を生成するエクセルの乱数関数です。テストデータの作成、シミュレーション、ランダムサンプリング、ゲームやクイズの作成など、様々な場面で活用されています。本記事では、RAN…
詳しくみるエクセルでセルを結合して中央揃えするには?ショートカットも解説
エクセルにおいて、複数のセルを結合し、内容を中央揃えにする操作は、見やすい資料作成やデータの整理に役立ちます。このプロセスを理解することで、シート内の情報を効果的に伝えることが可能となります。さらに、時間短縮を図るためのショートカットキーも…
詳しくみるPERCENTILE関数の使い方:エクセルでパーセンタイルを求めてデータ分析
PERCENTILE関数は、データセットの任意のパーセンタイル値を計算するエクセルの統計関数です。パーセンタイルとは、データを小さい順に並べたときに、指定した割合の位置にある値のことで、データの分布を詳細に把握するために使用されます。成績評…
詳しくみるエクセルで文字数をカウントする方法とは?LEN関数とLENB関数を使おう
エクセルでデータを扱う際、文字数のカウントは非常に重要な作業です。特に、データの整理や分析において適切な文字数を把握することで、効率的な作業が可能になります。本記事では、エクセルで文字数をカウントするための基本的な方法として、LEN関数とL…
詳しくみるPMT関数の使い方:ローン計算を簡単にマスターする方法
PMT関数は、ローンなどの定期的な返済額を自動計算できるExcelの財務関数です。住宅ローンや自動車ローンの返済計画を立てる際に欠かせないこの関数は、金利・期間・借入額から正確な支払額を算出します。 本記事では、PMT関数の基本的な使い方か…
詳しくみるSTANDARDIZE関数の使い方:データを標準化して比較可能にする方法
STANDARDIZE関数は、(x−平均)÷標準偏差を計算して各値のZスコア(平均0・標準偏差1の尺度で表した値)を返すエクセルの統計関数です。データの分布自体を標準正規分布に“変換”するわけではありません。 異なる単位や尺度のデータを統一…
詳しくみる