www.wanichan.com

振替休日を求めるには

高度な日付と時刻の関数の適用
最終更新日時:2016/10/18 16:25:09
  • このエントリーをはてなブックマークに追加

日曜日が祝日の場合、翌日の月曜日を振替休日とするには、曜日の判定としてWEEKDAY関数を利用し、IF関数と組み合わせて数式を作成するとOKです。5月の連休の場合は、5月5日が月曜日から水曜日の場合に、翌日を振替休日にします。

はじめに

祝祭日が特定の曜日(主として日曜日)と重なった場合、あるいは、複数の祝祭日が日曜日と重なったとき、その翌日が振替休日となります。

複数の祝祭日が連続しない場合、その日が日曜日であれば、翌日を振替休日となるように数式を作成すればOKです。

5月の連休の場合は、祝日が3日間連続するので、単純に最終日の5月5日が日曜日であるか判定するだけでは不十分です。よって、5月5日が月曜日から水曜日の場合に、翌日を振替休日とすればよいでしょう。

曜日の判定にはWEEKDAY関数を利用し、IF関数と組み合わせて振替休日を求めることができます。なお、数式結果はシリアル値として表示されるので、セルの表示形式を「日付」にします。

振替休日を含めた祝祭日の日付リストを作成しておくと、営業日の計算が行えるようになります。

ABC
1 2016
2
3日付祝日振替休日
401/01(金)元日 
501/11(月)成人の日 
602/11(木)建国記念の日 
703/20(日)春分の日 
804/29(金)昭和の日 
905/03(火)憲法記念日 
1005/04(水)みどりの日 
1105/05(木)こどもの日 
1207/18(月)海の日 
1308/11(木)山の日 
1409/19(月)敬老の日 
1509/22(木)秋分の日 
1610/10(月)体育の日 
1711/03(木)文化の日 
1811/23(水)勤労感謝の日 
1912/23(金)天皇誕生日 

WEEKDAY関数とIF関数と組み合わせると振替休日の日付を求めることができます。

=IF(WEEKDAY(祝祭日,1)=1,祝祭日+1,"")

一方、5月の連休など連続する祝日の振り替え休日は、以下の要領で実現できます。

=IF(WEEKDAY(5月5日セル,1)<=3,5月5日セル+1,"")

祝日が日曜日と重なった場合、翌日を振替休日として求める方法を紹介します。

操作手順

連続しない祝祭日が日曜日の場合

 ここでは、2016年の春分の日が日曜日なので、その振替休日を求める方法を紹介します。

  1. C7セルを選択して、数式バーの[関数の挿入]ボタンをクリックします。
  2. [数式パレット]で、IF関数を検索します。
  3. それぞれの引数に以下のように入力します。
    • 論理式:WEEKDAY(A7,1)=1
    • 真の場合:A7+1
    • 偽の場合:""
  4. 数式結果がシリアル値になるので、Commandキーを押しながら1キーを押して[セルの書式設定]を開き、表示形式を「日付」にします。
    セルの書式設定ダイアログボックスで分類を[ユーザー設定]にし、[種類]ボックスに mm/dd(aaa) と入力
  5. 振替休日の日付を表示できました。

 C7セルの数式は以下の通りです。

=IF(WEEKDAY(A7,1)=1,A7+1,"")

5月5日が日曜~火曜日の場合に5月6日の振替休日を表示する

  1. C11セルを選択して、数式バーの[関数の挿入]ボタンをクリックします。
  2. [数式パレット]で、IF関数を検索します。
  3. それぞれの引数に以下のように入力します。
    • 論理式:WEEKDAY(A11,1)<=3
    • 真の場合:A11+1
    • 偽の場合:""

 C11セルの数式結果は以下の通りです。

=IF(WEEKDAY(A11,1)<=3,A11+1,"")

※執筆環境:Microsoft Excel for Mac バージョン 15.27

スポンサーリンク
INDEX
  • このエントリーをはてなブックマークに追加

コメント

▲このページのトップへ