Excelで営業日(稼働日)ベースの「期日」や「日数」を計算したいとき、みなさんはどうしていますか?
例えば、見積書の有効期限。見積日の2018年2月8日から起算して、14営業日後を期限にするとしましょう。
単純に「8+14=22」で2月22日、とはならないのは、すぐにわかりますよね。土日が含まれますし、2月12日は祝日です。しかも月をまたぐので、3月1日が正解になります。
こうした計算をカレンダーを見ながら数えているとしたら、まだまだ時短できる余地が大きいというもの。【エクセル時短】第46回では、営業日の計算に便利な関数「WORKDAY」(ワークデイ)と「NETWORKDAYS」(ネットワークデイズ)を紹介します!
営業日ベースでの「期日」を求めるWORKDAY関数
冒頭で挙げた見積書の有効期限のように、「基準となる日から土日と祝祭日を除外した○日後」を計算できるのがWORKDAY関数です。構文は以下のとおり。
WORKDAY
(開始日, 日数, 祭日)
計算の基準とする日付を[開始日]で指定します。そして[日数]で○日後、つまり加算したい営業日数を指定すれば、土日を除いた日付を求められます。
ひと手間かかるのが[祭日]。祝祭日の一覧を別シートなどに用意しておき、そのセル範囲を指定することで、祝祭日が日数の計算から除外されます。
2018年の祝祭日一覧です。以下のリンクからExcelファイルをダウンロードできるので、コピーしてお使いください。
2018_holidays.xlsx
1WORKDAY関数を入力する
では、WORKDAY関数の使い方を見ていきましょう。見積書の有効期限となる14営業日後を、自動的に計算できるようにします。ここではわかりやすいように、祝祭日の一覧を同じシートの印刷範囲外に置きました。セルF10の関数式は以下のようになります。
=WORKDAY
(F9,14,H3:H22)」
2WORKDAY関数を入力できた
WORKDAY関数を入力できました。土日と祝祭日を除く、14営業日後の日付が表示されているのがわかります。
「期間内の営業日数」を求めるNETWORKDAYS関数
業務での日数計算では、例えば発注日と納品予定日を指定して、稼働できる日が何日あるかを知りたいこともあると思います。そのような「2つの日付の間にある土日と祝祭日を除いた日数」を求められるのが、NETWORKDAYS関数です。構文は以下のようになります。
NETWORKDAYS
(開始日, 終了日, 祭日)
計算の基準とする日付を[開始日]と[終了日]に、祝祭日の一覧を入力したセル範囲を[祭日]に指定すれば、それらの日付を除いた日数が表示されます。
1NETWORKDAYS関数を入力する
ここでは発注見込みの日付から、納品予定日までに残された営業日ベースの日数を算出します。祝祭日の一覧はWORKDAY関数で使ったものと同じです。セルI30に入力する関数式は以下のとおりです。
=NETWORKDAYS
(I28,I29,H3:H22)
2NETWORKDAYS関数を入力できた
土日と祝祭日を除く営業日ベースの日数が、NETWORKDAYS関数で算出できました。この例では2018年2月15日〜3月9日の営業日数が17日だとわかります。
いかがでしたか? 営業日ベースで計算するための定番関数として、2つをセットで覚えておくといいでしょう。
休日が土日ではない場合は?
世の中、土日休みの人ばかりではありませんよね。土日以外の曜日と祝祭日を除いた期日や日数を求めるには、「WORKDAY.INTL」(ワークデイ・インターナショナル)関数と「NETWORKDAYS.INTL」(ネットワークデイズ・インターナショナル)関数を使います。
WORKDAYとNETWORKDAYSよりも引数が1つ増え、その引数で「毎週月曜日」などを休日として指定できます。詳しくは以下の関数リファレンスで解説しているので、ぜひ参考にしてください。
関数リファレンス
【エクセル時短】は「少しでも早く仕事を終わらせたい!」というビジネスパーソンのみなさんに、Excelの作業効率をアップするワザをお届けする連載です。毎週木曜日更新。
過去の記事一覧【エクセル時短まとめ】