【Excel】WORKDAY関数で休日/祝日を除外する

アイキャッチ

ある日付けから指定した日数を休日を除いてカウントし、その日付を返してくれるのがWORKDAY関数 です。商品の納期等を管理するのに便利な関数です。

  • 例:2021年12月1日から3日後…12月4日(土)と12月5日(日)を除いて2021年12月6日を返します。

カレンダーを指折り数えて計算していては間違いのもとです。WORKDAY関数 で仕事にまつわる日数を正しく管理しましょう。

目次

WORKDAY関数とWORKDAY.INTL関数の違い

WORKDAY関数WORKDAY.INTL関数 は、休日の指定に大きな違いがあります。

WORKDAY関数

土日は全て休日扱いにされます。祝日はデータ入力で指定できます。

WORKDAY.INTL関数

各曜日ごとに自分で休日を指定できます。祝日はWORKDAY関数 と同じです。

WORKDAY関数 は土日を問答無用で除外します。WORKDAY.INTL関数 は休日を自分の好きな曜日で設定できます。

WORKDAY.INTL関数WORKDAY関数 の上位互換にあたります。

使い分けは以下のようになります。

  • 土日が休み…WORKDAY関数
  • 土日以外にも休みがある…WORKDAY.INTL関数

2つ覚えるのが面倒であれば、WORKDAY.INTL関数 だけ覚えておけば大丈夫です。

WORKDAY関数の使い方

=WORKDAY(開始日, 日数, [祝日])

開始日 から指定した日数 に対応する値(日付)を返します。土日と祝日 は除きます。

開始日

省略不可。起算日を指定します。

日数

省略不可。開始日 から休日を除いた求めたい日付までの日数を指定します。負の値も指定できます。

祝日

省略可。土日以外の除きたい日をセル範囲で指定します。

不定期の休日(大型連休や創立記念日など)も引数祝日 に指定しましょう。

  1. 開始日(起算日)を指定する
  2. 求めたい日付までの日数 を指定する
  3. 土日以外に除きたい日(祝日、大型連休など)をセル範囲で指定する

WORKDAY関数のサンプル

Sample
受注テーブルで工期から土日祝を除いた日付を返すサンプル
WORKDAY関数のサンプル画像。受注テーブルがあり、祝日を除いた工期分の日付が返されている。

=WORKDAY(B3,C3,$F$2:$F$3)

C31なので2021/11/2から1日後の日付を返しますが、2021/11/3祝日 で指定されているので2021/11/4を返します。

  • 戻り値はシリアル値です。書式設定で適切な日付表示にしてください。
  • #VALUE!が返された場合、数式内で無効な日付を参照しています。開始日祝日 の参照先を確認してください。

WORKDAY.INTL関数の使い方

土日以外を休日としたい場合はWORKDAY.INTL関数 を使用します。「平日が休みで土曜日は出勤」等はこの関数の出番です。

=WORKDAY(開始日, 日数, [週末],[祝日])

開始日

省略不可。起算日を指定します。

日数

省略不可。開始日 から休日を除いた求めたい日付までの日数を指定します。負の値も指定できます。

週末

省略可。休日にする曜日を指定します。週末番号 で指定する場合は以下の通りです。

  • 週末番号 にない数値で指定すると#NUM!を返します。
週末番号週末の曜日
1 または省略土曜日と日曜日
2日曜日と月曜日
3月曜日と火曜日
4火曜日と水曜日
5水曜日と木曜日
6木曜日と金曜日
7金曜日と土曜日
11日曜日のみ
12月曜日のみ
13火曜日のみ
14水曜日のみ
15木曜日のみ
16金曜日のみ
17土曜日のみ

文字列値 でも指定できます。

  • 文字列値7文字(“”で囲むこと)
  • 開始は月曜から
  • 0は平日
  • 1は休日
  • 文字列に使用できる文字は、0および1のみ

たとえば、“0010001” と指定すると水曜日と日曜日が休日になります。

  • “1111111”(全て休日)は無効です。#VALUE!を返します。
祝日

省略可。土日以外の除きたい日をセル範囲で指定します。

引数週末 を省略すれば、WORKDAY関数 と同じ戻り値を返します。

  1. 開始日(起算日)を指定する
  2. 求めたい日付までの日数 を指定する
  3. 休日にしたい曜日を指定する。週末番号 で指定できない場合は文字列値 を使用する。
  4. 土日以外に除きたい日(祝日など)をセル範囲で指定する

WORKDAY.INTL関数のサンプル

Sample
受注テーブルで工期から火,日曜と祝日を除いた日付を返すサンプル
WORKDAY.INTL関数のサンプル画像。受注テーブルがあり、工期から火曜日と祝日を除いた日付が返されている。

=WORKDAY.INTL(B3,C3,”0100001″,$F$2:$F$3)

引数週末“0100001”で指定しているので火曜日と日曜日が休日になります。日数 C23なので2021/11/1から3日後の日付を返しますが、2021/11/2が火曜日、2021/11/3祝日 で指定されているので2021/11/6を返します。

引数週末週末番号 で指定する場合は、数式を途中まで入力すると候補がドロップダウンリストで表示されます。覚える必要はありません。

WORKDAY.INTL関数のサンプル画像。引数「週末」の候補がドロップダウンリストで表示されている。

とても便利な関数ですが、祝日 は個別設定なので面倒です。次の項目で祝日一覧をGoogleカレンダーからダウンロードできるマクロファイルを紹介します。

WORKDAY関数に指定する祝日一覧を取得できるマクロ

別記事で紹介しているカレンダーで祝日を一括取得できます。よかったらダウンロードしてみて下さい。

祝日一覧は対象ファイルのシート設定列にダウンロードされます。シートの保護を解除してコピペするか、ファイル内のCSV出力機能を使ってCSVファイルを作成、コピペして下さい。

年間通じて休みが不定期な業態の会社も、このファイルを使用すれば便利です。カレンダー上で設定した休日をCSVファイルで一括出力してくれるので、それを引数祝日 に参照させてください。

WORKDAY関数とWORKDAY.INTL関数で休日/祝日を除外した日付を返す

サンプルは工期から納期を算出しましたが、会社の業態によって色々な使い道があると思います。指折り数える作業はミスの元です。WORKDAY関数WORKDAY.INTL関数 で日付を管理するようにしましょう。

よかったらシェアしてね!
  • URLをコピーしました!
目次