【Excel】WORKDAY関数を利用した正確な営業日計算方法

この記事は約6分で読めます。

今回は、ExcelのWORKDAY関数を使用して、土日や祝日を除いた正確な営業日を計算する方法について紹介します。

WORKDAY関数の特徴と基本的な使い方

プロジェクトのスケジュール管理や、納品日の算出を行う際、カレンダー通りの日数ではなく「実際の稼働日(営業日)」ベースでの計算が求められる場面は多く存在します。
単純に日付に日数を足し算するだけでは、休業日が含まれてしまい、正確な納期を把握することができません。
ExcelのWORKDAY関数は、指定した開始日から起算して、指定した日数(営業日)だけ前、あるいは後の日付を自動的に返してくれる関数です。
デフォルトで土曜日と日曜日を自動的に除外して計算する仕組みになっており、さらに独自の休業日(祝日や会社の創立記念日など)を追加で指定することも可能です。

関数の構文と引数の指定方法

WORKDAY関数は、以下のように3つの引数を指定して構成されます。
=WORKDAY(開始日, 日数, [祭日])

  • 開始日: 計算の基準となる最初の日付が入力されているセルを指定します。
  • 日数:
    開始日から何営業日後(または前)の日付を求めたいかを数値で指定します。プラスの数値を指定すると未来の日付、マイナスの数値を指定すると過去の日付が計算されます。
  • 祭日(省略可能):
    土日以外に除外したい休業日(祝日リストなど)のセル範囲を指定します。この引数は省略可能ですが、日本のカレンダーに合わせた正確な計算を行うためには、祝日の一覧を用意して指定することが一般的です。

WORKDAY関数を活用する具体的な場面

ビジネスにおいて、期限やスケジュールを明確にすることは非常に重要です。
WORKDAY関数を使うことで、手作業でカレンダーを数える手間とミスを省き、精度の高いスケジュール表を作成できます。

プロジェクトの納品日や完了予定日の算出

例えば、「受注日から起算して10営業日後に納品する」というルールがある場合、開始日に受注日のセルを指定し、日数に「10」を入力します。
さらに、祭日の引数に事前に作成しておいた「今年の祝日リスト」の範囲を指定します。
これにより、土日と指定した祝日をスキップして、正確な10営業日後の日付が算出されます。
受注日が変更になっても自動的に納品予定日が再計算されるため、スケジュールの管理が非常に楽になります。
複数のタスクが連なるガントチャートを作成する際にも、前のタスクの完了日を次のタスクの開始日として参照し、所要日数を足していくことで、全体のスケジュールを自動連動させることができます。

過去の特定の営業日に遡る計算

未来の日付だけでなく、過去の日付を算出したい場合にもWORKDAY関数が役立ちます。
「請求書の締め日から起算して、3営業日前に書類を提出する」といった社内ルールがある場合、開始日に締め日のセルを指定し、日数に「-3」とマイナスの数値を入力します。
これにより、土日や祝日をさかのぼって除外した、正確な提出期限の日付を求めることができます。
逆算によるスケジュール管理において、休業日を考慮した期限設定を自動化できる強力なツールとなります。

WORKDAY関数を使用する際の準備と注意点

WORKDAY関数を効果的に機能させるためには、事前の準備や、関数の特性に対する理解が必要です。

祝日リストの作成と絶対参照の活用

WORKDAY関数の第三引数である「祭日」には、土日以外に休業とする日付のリストを指定します。
日本の祝日は毎年変動するため、Excelにはデフォルトで日本の祝日が登録されていません。
そのため、シートのどこかに手作業や外部データを利用して、その年の祝日や会社の指定休日(夏季休暇や年末年始など)を縦一列に入力したリストを作成しておく必要があります。
関数を入力する際、この祝日リストの範囲を選択したら、必ずF4キーを押して絶対参照($マークをつける)に設定します。
絶対参照にしておくことで、関数を下のセルにオートフィルでコピーした際にも、祝日リストの参照範囲がずれずに固定され、エラーを防ぐことができます。
よりスマートな方法として、祝日リストの範囲に「祝日」といった名前を定義しておき、関数の引数にその名前を直接入力する方法もあります。

土日以外の曜日が休日の場合(WORKDAY.INTL関数)

WORKDAY関数は、原則として土曜日と日曜日を週末(休日)として固定で扱います。
しかし、サービス業や店舗など、定休日が「水曜日と木曜日」であったり、「日曜日のみ」であったりするケースもあります。
そのような土日以外の曜日を休日として設定したい場合は、派生関数であるWORKDAY.INTL関数を使用します。
WORKDAY.INTL関数では、週末のパターンを指定する引数が追加されており、「1」は土日、「11」は日曜日のみ、「4」は水木といったように、特定のコードを入力することで独自の休日パターンに合わせた営業日計算が可能になります。
自社の休業日に合わせて、WORKDAY関数とWORKDAY.INTL関数を使い分けることがポイントです。

WORKDAY関数に関連する日付の表示形式

WORKDAY関数で計算された結果は、日付を表すシリアル値(数値)として表示されることがあります。
たとえば「45000」のような数字が表示された場合は、エラーではなく表示形式の問題です。

シリアル値を日付形式に直す方法

計算結果が数値になってしまった場合は、該当するセルを選択し、リボンの「ホーム」タブにある数値のグループから、表示形式のプルダウンメニューを開きます。
ここで「短い日付形式」や「長い日付形式」を選択することで、馴染みのある「2024/4/1」のような日付の表示に切り替わります。
日付の計算を行う際は、このシリアル値という概念を理解しておくと、計算結果が数値になったときに慌てずに対処できます。

曜日を一緒に表示させるテクニック

算出された納品日や期限が何曜日なのかをひと目で確認したい場合は、セルの書式設定をカスタマイズします。
セルを右クリックして「セルの書式設定」を開き、「表示形式」タブの「ユーザー定義」を選択します。
種類の欄に「yyyy/m/d (aaa)」のように入力すると、日付の後ろにカッコ書きで曜日が表示されるようになります。
営業日計算の結果が本当に平日になっているかを確認する上でも、曜日を表示させておくことは視覚的に非常に有効です。

まとめ

ExcelのWORKDAY関数を利用して、土日や祝日を除外した正確な営業日(稼働日)を計算する方法について解説しました。
納品日の算出やスケジュールの逆算など、実務において日数から日付を求める場面では欠かせない関数です。
第三引数に指定する独自の祝日リストを作成し、絶対参照で固定しておくことが、正しく機能させるための重要なポイントとなります。
また、土日が定休ではない業種の場合は、WORKDAY.INTL関数を使うことで、自社のカレンダーに柔軟に対応させることが可能です。
計算結果がシリアル値になった場合の表示形式の変更や、曜日を併記する書式設定のカスタマイズと組み合わせることで、スケジュール表の完成度は大きく向上します。
カレンダーを見ながら手作業で日数を数える作業から脱却し、正確で効率的な日付管理を実現してみてはいかがでしょうか。