2024年10月4日【ID:0】
メンバー限定
【Excel】カレンダーに「休」を表示(祝日などを考慮)
以下のカレンダーのように、「休」を自動で表示する方法について解説していきます。
反映される「休」は、固定の曜日と休日一覧に登録した日付になります。
※以下の例では土日を固定の休みとしています。
・カレンダーに「休」を表示する
固定の曜日の休みと休日一覧に登録した日付を考慮して「休」と表示させる場合は、『NETWORKDAYS.INTL関数』が便利です。
この関数では、対象期間の営業日数を求めることができます。
例えば、2024/7/5が休みはどうかを判定したい場合、NETWORKDAYS.INTL関数を用いて2024/7/5から2024/7/5の期間(1日間)の営業日数を求めます。
その日数が0の場合が休みになります。
まずは、カレンダーに各日付(1日間)の営業日数を表示させます。
NETWORKDAYS.INTL関数の使い方は、以下になります。
=NETWORKDAYS.INTL(開始日, 終了日, [週末], [祭日])
// 開始日:対象期間の開始日
// 終了日:対象期間の終了日
// [週末]:固定の休みとする曜日を指定(省略時は土日休み)
// [祭日]:固定以外の休日をまとめた一覧を指定(省略時は対象なし)
引数の[週末]に関しては、以下の候補から簡単に指定することができます。
実際に、以下のカレンダーの先頭(セルC3)にNETWORKDAYS.INTL関数を用いて営業日数を求めていきます。
その際の数式は以下になります。
=NETWORKDAYS.INTL(B3,B3,1,$F$3:$F$20)
// 固定の休みを土日とする場合は、引数の[週末]に1を指定する
// 他のセル(C列全体)にコピーした際に休日一覧の参照位置が移動しないように、引数の[祭日]に関しては絶対参照($)にする
入力できたら該当する列(C列)の最終行までコピーします。
この時、「0」が表示された日付が休みになります。
後は、「0」が表示されたセルを「休」という文字に、それ以外のセルを空にすることで完成です。
条件に応じて表示させる内容を変える場合は、『IF関数』を活用します。
この関数の使い方は、以下になります。
=IF(論理式, 値が真の場合, 値が偽の場合)
// 論理式:条件を指定
// 値が真の場合:条件を満たした場合に表示する値を指定
// 値が偽の場合:条件を満たしていない場合に表示する値を指定
実際に、先ほどのNETWORKDAYS.INTL関数と組み合わせると、以下のようになります。
=IF(NETWORKDAYS.INTL(B3,B3,1,$F$3:$F$20)=0,"休","")
入力できたら該当する列(C列)の最終行までコピーします。
これだけで、「休」という文字を表示させることができます。
・候補にない曜日の組み合わせを休みにする
次は、以下の候補([週末]に指定する曜日)の中に理想的な曜日の組み合わせが存在しない場合の指定方法について解説していきます。
この候補の中だと、「土日、日月、月火、…」のように2日間連続した曜日、もしくは「日、月、火、…」のように単体の曜日でしか指定することができません。
そのため、「月水」や「金土日」のような曜日を固定の休みとする場合は、別の方法で指定する必要があります。
そのような際は、以下のように指定します。
続きはIT予備メンバー限定です。
メンバー限定コンテンツになります。
IT予備メンバーページと連携することで内容を確認することができます。
メンバーとは
すでにメンバーの方は、
ログインして連携してから、こちらを更新すると閲覧できます。
※連携しても確認ができない場合は、少し時間を置いてご確認ください。
ログイン(新しいタブ)
※[ログイン]→[設定]→[IT予備-連携]で連携できます