Excel関数で営業日を計算する方法をお探しですね。
広告
Excelで「土日祝を除いて何日後?」を自動計算する方法
仕事で納期や見積もりの有効期限を決めるとき、「土日祝日を除いて10日後っていつだっけ?」と、カレンダーを見ながら指で数えたことはありませんか?月をまたいだり、祝日が入ったりすると、数え間違いも起こりやすいですよね。
そんなときに便利なのが、ExcelのWORKDAY関数とNETWORKDAYS関数です。
この2つを使い分けられるようになると、営業日の計算がぐっと楽になります。
WORKDAY関数とNETWORKDAYS関数、何が違うの?
この2つの関数、名前は似ていますが、**役割がまったく違います**。
– **WORKDAY関数**:「〇営業日後の日付」を出してくれる
– **NETWORKDAYS関数**:「期間内に営業日が何日あるか」を数えてくれる
つまり、**日付を知りたいか、日数を知りたいか**で使い分けるんです。
たとえば、「見積書の有効期限を、今日から10営業日後にしたい」ならWORKDAY関数。
「プロジェクト開始から終了までに、実際に作業できる日は何日あるか」を知りたいならNETWORKDAYS関数を使います。
違いを表にまとめると、こんな感じです。
| 関数 | 何を求める? | どんなときに使う? | 基本の書き方 |
|—|—|—|—|
| WORKDAY | 〇営業日後の日付 | 納期、締切日、支払期限など | =WORKDAY(開始日, 日数, [祝日]) |
| NETWORKDAYS | 期間内の営業日数 | 作業日数、稼働日数、残り日数など | =NETWORKDAYS(開始日, 終了日, [祝日]) |
ちょっと注意したいのが、**開始日の扱い方**です。
WORKDAY関数は基本的に「開始日の翌営業日」から数え始めます。
一方、NETWORKDAYS関数は開始日と終了日の両方を含めて数えます。
このズレを知らないと「あれ、1日ずれてる?」となることがあるので、頭の片隅に置いておいてください。
WORKDAY関数で「〇営業日後」の日付を出す
WORKDAY関数は、「今日から5営業日後っていつ?」みたいな質問に答えてくれる関数です。
基本の書き方はこうです。
“`
=WORKDAY(開始日, 日数, [祝日])
“`
– **開始日**:基準になる日付
– **日数**:何営業日後か(マイナスもOK)
– **祝日**:除外したい祝日のリスト(省略すると土日だけ除外)
使い方の例
たとえば、A2セルに「2026/4/1」、B2セルに「5」と入れて、E2:E20に祝日リストがあるとします。
“`
=WORKDAY(A2, B2, E2:E20)
“`
これで、4月1日から5営業日後の日付が自動で出てきます。
土日と祝日をちゃんと飛ばしてくれるので、カレンダーを見なくてもOKです。
もし結果が「45758」みたいな数字で出てきたら、セルの表示形式が「日付」になっていないだけです。
右クリックで「セルの書式設定」から「日付」を選べば、ちゃんと日付表示になります。
マイナスで逆算もできる
日数にマイナスの値を入れると、**逆算**もできます。
たとえば、納品日の3営業日前に出荷したいときは、こう書きます。
“`
=WORKDAY(納品日, -3, 祝日リスト)
“`
これで、納品日から逆算して「いつまでに出荷すればいいか」が分かります。
請求書の発行日や、承認の締切日を決めるときにも便利です。
注意点:「当日を含むか」問題
会社によっては「受付日を含めて5営業日以内」みたいなルールがあったりしますよね。
このとき、単純に「5」と入れると、感覚より1日後ろにずれることがあります。
もし受付日も1日目に含めたいなら、日数を「4」にするなど、社内ルールに合わせて調整してください。
Excel関数と会社のルールが一致しているか、最初に確認しておくと安心です。
NETWORKDAYS関数で期間内の営業日数を数える
NETWORKDAYS関数は、「この期間に営業日は何日あるか?」を教えてくれる関数です。
基本の書き方はこちら。
“`
=NETWORKDAYS(開始日, 終了日, [祝日])
“`
– **開始日**と**終了日**:期間の始まりと終わり
– **祝日**:除外したい祝日のリスト
使い方の例
A2セルに「2026/4/1」、B2セルに「2026/4/30」、E2:E20に祝日リストがある場合、
“`
=NETWORKDAYS(A2, B2, E2:E20)
“`
これで、4月1日から30日までの間に、営業日が何日あるかが分かります。
この関数は**開始日と終了日の両方を含めて**計算します。
だから、両方とも営業日なら、その2日もカウントされます。
もし開始日を含めたくない場合は、開始日を1日ずらして `A2+1` にするなど、調整してください。
こんなときに便利
– プロジェクトの実作業日数を見積もるとき
– 月ごとの稼働日数を自動計算したいとき
– 「今月あと何日働ける?」を知りたいとき
– 売上目標を1営業日あたりに換算したいとき
単に日数を数えるだけじゃなくて、業務量や人員配置を考える基準にもなるのが、この関数の良いところです。
エラーを防ぐコツ
日付が**文字列**として入力されていると、正しく計算できないことがあります。
見た目は「2026/4/1」でも、Excelが日付として認識していないケースです。
また、祝日リストに余分な文字やスペースが混じっていると、祝日として除外されないこともあります。
祝日リストは毎年更新が必要なので、内閣府などの正確な情報をもとに管理しておくと安心です。
土日以外の休みにも対応できる「.INTL」バージョン
普通のWORKDAY関数とNETWORKDAYS関数は、土日を休みとして計算します。
でも、職場によっては「水曜定休」「日月休み」「週休3日制」なんてこともありますよね。
そんなときは、**WORKDAY.INTL関数**と**NETWORKDAYS.INTL関数**を使います。
「.INTL」が付くバージョンは、**休みにする曜日を自分で指定できる**んです。
基本の書き方
“`
=WORKDAY.INTL(開始日, 日数, [週末], [祝日])
=NETWORKDAYS.INTL(開始日, 終了日, [週末], [祝日])
“`
「週末」という引数が追加されています。
ここで、どの曜日を休みにするかを指定します。
週末の指定方法
数字で指定する方法と、文字列で指定する方法があります。
**数字で指定する場合**
– `1` または省略:土日休み
– `11`:日曜だけ休み
– `17`:土曜だけ休み
**7桁の文字列で指定する場合**
月曜から日曜まで順番に、営業日を「0」、休日を「1」で表します。
– 土日休み:`”0000011″`
– 水曜と日曜休み:`”0010001″`
– 火曜・土曜・日曜休み:`”0100011″`
この方法なら、週休3日制や変則的な定休日にも対応できます。
まとめ:使い分けのポイント
営業日計算で失敗しないためには、**最初に何を知りたいかをはっきりさせる**ことが大切です。
– 「〇営業日後の日付」を知りたい → **WORKDAY系**
– 「期間内の営業日数」を知りたい → **NETWORKDAYS系**
– 土日以外の休みがある → **INTL版**
そのうえで、祝日リストを含めるか、開始日をカウントするか、自社独自の休日があるかを確認してから数式を作りましょう。
ここまで整理できれば、納期管理も請求期限もプロジェクト計画も、ぐっと楽になります。
カレンダーを指で数える作業からも解放されますよ!
広告
