Excelでは、WORKDAY関数とSEQUENCE関数を使用することで、休日を除外した営業日カレンダーを作成することができます。
SEQUENCE関数を使ってカレンダーを作成する方法
まず、休日を除外せずにカレンダーを作成する方法です。ここでは連続した数値の配列を生成するSEQUENCE関数を使用します。
SEQUENCE(行, [列], [開始], [目盛り]) |
---|
「行」「列」には生成する行数、列数を指定する。「開始」には連番の開始値を指定する。 |
たとえば、「2025/6/15」から100日後までのカレンダーを作成するには以下のように数式を入力します。
=SEQUENCE(B3+1,1,A3)

「行」には、「100+1」日で100日後までの日数を生成します。開始日が「2025/6/15」としているので、厳密に100日後を表示させるには「1」加算が必要になります。「列」には「1」を指定し、縦に日付の一覧を生成します。「開始」には、開始日の「2025/6/15」を指定します。
これで日付のシリアル値が表示されます。

「Ctrl+1」でセルの書式設定を開き、日付の表示形式に変更します。

これで「2025/6/15」から100日後までのカレンダーを作成することができます。

WORKDAY関数/WORKDAY.INTL関数と組み合わせて営業日カレンダーを作成
今度はWORKDAY関数/WORKDAY.INTL関数と組み合わせて、休日を除外した営業日カレンダーを作成する方法です。なお、WORKDAY関数/WORKDAY.INTL関数の詳しい使い方は以下の記事をご覧ください。

土日が休日の場合:WORKDAY関数
今度はWORKDAY関数を使って土日・祝日は除外するようにします。
WORKDAY(開始日, 日数, [祝日]) |
---|
「開始日」から土日を除き、指定した「日数」後の営業日を表示させる。 |
WORKDAY関数を挿入し、開始日に「2025/6/15」を指定します。日数はSEQUENCE関数を使って0日後、1日後、2日後というように連続した日数を「100+1」日分を生成するようにします。開始値には0を指定すれば、0~100までの数値が生成されます。最後に祭日に祝日一覧の日付を選択します。
=WORKDAY(A3,SEQUENCE(B3,1,0)+1,祝日一覧!A1:A19)

これで土日・祝日を除外した「2025/6/15」から100日後までの営業日カレンダーを作成することができます。

土日以外が休日の場合:WORKDAY.INTL関数
土日以外が休日の場合はWORKDAY.INTL関数を使用して任意の休日を選択します。
WORKDAY.INTL(開始日, 日数, [週末], [祝日]) |
---|
「開始日」から任意の休日を除き、指定した「日数」後の営業日を表示させる。 |
たとえば、月曜日、火曜日が休日の場合の「3」を指定します。
種類 | 週末 |
---|---|
1 | 土曜日、日曜日 |
2 | 日曜日、月曜日 |
3 | 月曜日、火曜日 |
4 | 火曜日、水曜日 |
5 | 水曜日、木曜日 |
6 | 木曜日、金曜日 |
7 | 金曜日、土曜日 |
11 | 日曜日のみ |
12 | 月曜日のみ |
13 | 火曜日のみ |
14 | 水曜日のみ |
15 | 木曜日のみ |
16 | 金曜日のみ |
17 | 土曜日のみ |

これで月曜日、火曜日を除外した日付の一覧を表示させることができます。

後は、日付の横に予定を記載する欄などを自由に追加すれば、営業日カレンダーを作成することができます。

この方法を使えば、日数や休日のパターンを柔軟に変更したカレンダーを作成できます。たとえば、出勤日が異なる従業員一人一人のカレンダーを効率的に作ることができます。
コメント