納期までの営業日数を数えたい、開始日から「5営業日後」の日付を出したい場面は多いですね。Excelでは、土日だけを除くならNETWORKDAYS、土日と祝日も除くなら祝日一覧を指定して使うだけです。複雑な手計算をしなくても、関数で正確に処理できますよ。
結論:土日祝を除く営業日はNETWORKDAYS関数で計算します
たとえば、開始日がA2、終了日がB2、祝日一覧がH2:H30に入力されている場合は、次の式を入力します。
=NETWORKDAYS(A2,B2,$H$2:$H$30)
この式では、A2からB2までの期間に含まれる平日を数え、土曜日・日曜日・H2:H30に登録した祝日を除外します。開始日と終了日が営業日なら、その両方を1日として数える点が大切です。
「今日から5営業日後」のように、期限日を求める場合はこちらです。
=WORKDAY(A2,5,$H$2:$H$30)
A2の日付の翌営業日を1日後として数え、5営業日後の日付を返します。納期、回答期限、発送予定日の管理に便利ですよ。
土日祝を除いた営業日数を数える手順
まずは、期間内の営業日数を求めるNETWORKDAYS関数の設定手順を確認しましょう。祝日を別の場所に一覧化しておくと、毎回の計算で使い回せます。
- 開始日を入力するセルを用意します。たとえばA2に
2026/7/1を入力します。 - 終了日を入力するセルを用意します。たとえばB2に
2026/7/31を入力します。 - 空いている列に祝日一覧を作ります。たとえばH2から下へ、
2026/7/20のように祝日の日付を1日ずつ入力します。 - 営業日数を表示したいセル、たとえばC2をクリックします。
=NETWORKDAYS(A2,B2,$H$2:$H$30)と入力します。- Enterキーを押します。C2に土日祝を除いた営業日数が表示されます。
祝日一覧の範囲に$を付けているのは、数式を下方向へコピーしても祝日範囲がずれないようにするためです。複数案件の納期を一覧で管理するときは、数式を入力したセル右下の小さな四角をダブルクリックするか、下へドラッグしてコピーしましょう。
祝日一覧を作るときのポイント
- 祝日は必ずExcelが日付として認識できる形式で入力します。
2026/1/1や2026-01-01がおすすめです。 - 同じ祝日を重複して登録しても通常は計算結果に影響しませんが、一覧は重複なしで整理すると確認しやすいです。
- 振替休日や会社独自の休業日も、祝日一覧に追加すれば除外できます。
- 祝日一覧は同じブック内の別シートに置いても使えます。たとえば
=NETWORKDAYS(A2,B2,祝日!$A$2:$A$30)のように指定します。
開始日から○営業日後の日付を出すWORKDAY関数
営業日数を数えるだけでなく、「受付日から3営業日後」「発注日から10営業日後」といった期限日を自動計算したいならWORKDAY関数を使いましょう。
- A2に起算日を入力します。
- 祝日一覧をH2:H30に用意します。
- 結果を表示したいセルをクリックします。
=WORKDAY(A2,5,$H$2:$H$30)と入力します。- Enterキーを押します。
2つ目の引数である5が、進めたい営業日数です。A2が金曜日なら、土日を飛ばして翌週月曜日が1営業日後になります。祝日一覧に月曜日が登録されていれば、さらに次の火曜日が1営業日後です。
反対に「5営業日前」を出すこともできます。その場合は日数をマイナスにしてください。
=WORKDAY(A2,-5,$H$2:$H$30)
請求締め日から必要な作業開始日を逆算するときにも役立ちますね。
土日以外の曜日を休みにしたいときはNETWORKDAYS.INTL
通常のNETWORKDAYSは土曜日・日曜日を休日として扱います。しかし、シフト勤務や海外拠点との業務では、金土休み、日月休みなど別の休日設定が必要になることがあります。その場合はNETWORKDAYS.INTLを使います。
たとえば金曜日・土曜日を休日にして、祝日も除外する式は次のとおりです。
=NETWORKDAYS.INTL(A2,B2,7,$H$2:$H$30)
1:土曜日・日曜日が休日2:日曜日・月曜日が休日7:金曜日・土曜日が休日11:日曜日だけが休日17:土曜日だけが休日
営業日後の日付を出す場合も、WORKDAY.INTLを使えば同じように設定できます。
=WORKDAY.INTL(A2,5,7,$H$2:$H$30)
うまくいかない場合のチェックポイント
関数を入力したのにエラーになる、日数が合わないときは、次の項目を順番に確認してください。営業日計算は日付データの形式が原因になりやすいです。
#VALUE!エラーが表示される場合
- 開始日・終了日・祝日一覧に文字列が混ざっていないか確認します。セルをクリックし、数式バーで日付として扱われているか見てみましょう。
2026年7月1日のような入力でも日付として認識される場合がありますが、環境によっては文字列になることがあります。2026/7/1形式で入力し直すと安全です。- 祝日範囲にエラー値が入っていないか確認します。たとえば祝日リスト内に
#N/Aがあると、計算できません。 - 関数名や区切りのカンマが全角になっていないか確認します。
,ではなく半角の,を使います。
営業日数が1日ずれる場合
NETWORKDAYSは開始日と終了日を含めて数えます。たとえば同じ営業日を開始日・終了日に指定すると結果は1です。- 終了日を含めずに日数を出したい場合は、終了日から1日引きます。式は
=NETWORKDAYS(A2,B2-1,$H$2:$H$30)です。 - 開始日または終了日が土日祝なら、その日は自動でカウントされません。まず該当日が休日一覧に入っているか確認しましょう。
- 祝日一覧に対象年の祝日が不足していないか確認します。年をまたぐ案件では、翌年分の祝日も登録する必要があります。
数式が計算されず、そのまま文字で表示される場合
- セルの表示形式が「文字列」になっている可能性があります。セルを選択し、[ホーム]タブの[表示形式]を「標準」または「日付」に変更します。
- 表示形式を変更しただけでは式が再計算されないことがあります。F2キーを押してからEnterキーを押し、数式を確定し直しましょう。
- 数式の先頭にアポストロフィー
'や空白が入っていないか確認します。
毎月の管理を楽にする時短ワザ
祝日一覧を毎回探す手間を減らすには、専用の「祝日」シートを1つ作る方法がおすすめです。A列に日付、B列に祝日名を入力しておけば、案件管理・勤怠管理・スケジュール表など複数のシートから同じ一覧を参照できます。
祝日一覧の範囲を選択して、[数式]タブから[名前の管理]を開き、たとえば祝日リストという名前を付けるのも便利です。設定後は、数式を次のように読みやすくできます。
=NETWORKDAYS(A2,B2,祝日リスト)
また、今日からの残り営業日を確認したいときは、TODAY関数と組み合わせます。
=NETWORKDAYS(TODAY(),B2,$H$2:$H$30)
これで、今日からB2の期限日までの営業日数を自動更新できます。ファイルを開いた日に数字が変わるため、締切管理の見落とし防止にも役立ちますよ。
入力作業を少し速くしたいときは、今日の日付を入れるCtrlキー+;キーも覚えておきましょう。日付を入力したいセルを選んで押すだけで、当日の日付をすぐ入力できます。営業日計算と組み合わせれば、受付日や作業開始日の記録がスムーズになります。
