Excel。土日祝日を除いた予定表を手早く作りたいけど、どうしたらいい。
<WORKDAY関数>
予定表を作るときに、日付を設定するわけですが、土日や祝日を除いた予定表を作りたいとしたら、どのようにしたらいいのでしょうか。
次の表があります。
A列に日付を入力しています。
土日祝日も含めたカレンダーになっているものを平日のみのカレンダーにしたいわけですね。
目視で確認して自力で削除することが多いと思いますが、作業自体は単純でも面倒です。
かといって、Excel VBAでつくるというのも面倒です。
このような場合、登場するのが「WORKDAY関数」です。
そして、このWORKDAY関数を作るとき、重要になるのが、E2:F5のような祝日一覧表です。
祝日を自動的にExcel側で判断することができないので、用意する必要があります。
では、土日祝日を除いた予定表を作っていきましょう。
A3の最小の日付は、そのまま「2022/5/1」と入力しています。
別のセルに年月日を用意しておいて、DATE関数で日付を作るというのもいいですね。
A4にWORKDAY関数で数式を設定します。
=WORKDAY(A3,1,$E$3:$E$5)
あとは、オートフィルで数式をコピーするだけです。
すると、土日祝日を除いた予定表。カレンダーをつくることができました。
では、=WORKDAY(A3,1,$E$3:$E$5)の引数を確認しておきましょう。
最初の引数は、開始日なので、最初の日付である、A3を設定します。
次の引数は、日数。開始日から「+1」すれば翌日になりますので、「1」と設定します。
最後の引数は、祭日。
これは祝日一覧の日付を設定しますので、「$E$3:$E$5」。
オートフィルで数式をコピーすることを考慮する必要があるので、絶対参照を忘れずに設定します。
なお、B列の曜日ですが、B2には、
=TEXT(A3,"aaa")
とTEXT関数をつかって、表示形式を日付から曜日に変更しています。
WEEKDAY関数をつかった曜日算出でもOKですし、セル参照して表示形式で変更してもOKですね。
また、土日ではなくて、水曜日など別の曜日の場合には、「WORKDAY.INTL関数」をつかうことで、対応することが可能です。
最後に運用上のポイントなのですが、日本の祝日は、俗にいうラッキーマンデーがあるので、祝日が固定されていない祝日が多くあります。
年がわかる・年度がかわるに連動して、この一覧を修正する必要があります。
年や年度をまたぐことが想定される場合には、月日での管理よりも、年月日での管理運用をおススメします。
日付関係の関数も色々ありますので、確認してみると作業効率を改善できる関数を見つけることが出来るかもしれませんね。