いまさら聞けないExcelの使い方講座
【Excel】締め切りまで実質何日? 実働日を一発で計算する方法
2025年9月24日 06:55
実働日は何日? 関数で自動計算しよう
業種に関わらず『来月の○日までに』といった依頼がありますよね。例えば、3~4週先の締め切りになると、まだまだ余裕があると考えがちです。では、本日が2025/9/24(水)として、10/17(金)が締切日だとすると、実際の作業日数は何日あるでしょうか? 土日と祝日を除くだけでなく、出張などの“実務で作業できない日”もまとめて除外できます。
大まかに3週間ありますが、基本的に土日祝日は作業しないものとして、そのほか出張などの予定が入っていることもあるでしょう。実際に稼働できる日数を即答するのは難しいものです。
1、2、3……と指折り数えるのは間違いの元。NETWORKDAYS(ネットワークデイズ)関数、もしくは、NETWORKDAYS.INTL(ネットワークデイズ・インターナショナル)関数を利用すれば、自動的に求められます。
用途の近い「○営業日後」を数えるWORKDAY.INTL関数とあわせて覚えておくといいでしょう。
NETWORKDAYS関数とNETWORKDAYS.INTL関数
NETWORKDAYS関数とNETWORKDAYS.INTL関数は、[開始日]から[終了日]までの“日数”を数えます。指定した祝日を除くのはどちらも同じですが、NETWORKDAYS関数は土日、NETWORKDAYS.INTL関数は指定した曜日を除いて計算します。構文を見てみましょう。


[祭日]には、休日扱いにする日付のリストをセル範囲で指定します。省略した場合、NETWORKDAYS関数では土日、NETWORKDAYS.INTL関数では、[週末]の値に対応する曜日が除外されます。「1」(または省略)とした場合は土日が除外されて、NETWORKDAYS関数と同じ結果になります。
以下は、休日リストをE列に入力した例です。NETWORKDAYS関数とNETWORKDAYS.INTL関数の結果が同じであることを確認できます。なお、休日のリストを指定しない場合は[開始日]と[終了日]の2つだけ指定すれば動作します。
予定を追加する
休日ではなくても、出張中は作業できないということがありますよね。休日リストに追加してみましょう。このサンプルの数式では、引数[祭日]に「E:E」と指定してE列全体を参照しているので、末尾に追加するだけです。
土日以外を除いて実働日を数える
締切日まで、まだ3週間ほどある気持ちでいましたが、実際には15日間しかありませんでした。土曜日も稼働するとして、祝日と日曜日だけ休むと考えてみます。引数[週末]に「11」と指定します。入力する数式は以下の通りです。
=NETWORKDAYS.INTL(B1,B2,11,E:E)
変則的な休日だけ指定する
日曜日と休日リストの日付を除いた場合の実働日は18日でした。これでも時間が足らないとなると、「基本的に祝日も稼働、定期的な休みはなし、特定の日だけ休む」といった判断になるかもしれません。このような変則的な休みを指定したい場合は“フラグ”を利用します。
一週間の始まりを月曜とした7桁の値を考えて、休業日に該当する曜日を「1」とします。定期的な休みを指定しないなら「"0000000"」となります。なお、水曜日と日曜日を休む場合は「"0010001"」となります。
締切まであと○日といった計算はよくありますが、実務では『実際に使えるのは何日?』といった問いへの回答が求められます。ざっくりした見込みや指折り数えるのはやめて、関数を使ってみてはいかがでしょうか。