こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

解決済みの質問

Excel 夏季休暇の日付を取得したい

お世話になります。
Excel2010

Excelにて勤務表を作成しているのですが、祝日については
全て自動的に取得することができました。

あとは夏季休暇の取得のみの状況です。
※年末年始休暇は12/29~1/3の固定。

過去の夏季休暇は以下の通りです。
なお、日数は土日含めて5日です。

 2009年 8/12(水)~8/16(日)
 2010年 8/11(水)~8/15(日)
 2011年 8/13(土)~8/17(水)
 2012年 8/11(土)~8/15(水)
 2013年 8/14(水)~8/18(日)
 2014年 8/13(水)~8/17(日)
 2015年 8/12(水)~8/16(日)

確認すると、8/15(お盆)が
 ・月~水だと前半休み(日~水)
 ・木~日だと後半休み(水~日)
になっているように見受けられます。

ここで質問ですが、夏季休暇で土日以外の3日間の日付を取得したい
のですが、どのように導き出せばよいのでしょうか。

例えば、2015年だったら

 B1:2015/8/12
 B2:2015/8/13
 B3:2015/8/14

というように、それぞれ別のセルに取得したいところです。
なお、年はA1に入力されているとします。

ご教示の程、宜しくお願い致します。

投稿日時 - 2015-12-04 16:14:05

QNo.9090597

すぐに回答ほしいです

質問者が選んだベストアンサー

B1
=DATE(A1,8,15)-CHOOSE(WEEKDAY(DATE(A1,8,15)),4,0,1,2,1,2,3)

B2
=B1+1

B3
=B2+1

式の解説

B1では「8月15日」を基準に「土日以外の3日間が何日前から始まるか?」を計算しています。

つまり「8月15日が何曜日か?」を見て、8月15日が日、月、火、水、木、金、土のどれかによって「日曜なら4日前から」「月曜なら0日前から」「火曜なら1日前から」「水曜なら2日前から」「木曜なら1日前から」「金曜なら2日前から」「土曜なら3日前から」を計算しています。

B2は「B1の次の日」なので、単純に「B1+1」で良いです。

同様にB3は「B2の次の日」なので、単純に「B2+1」で良いです。

投稿日時 - 2015-12-04 16:57:32

補足

ご回答ありがとうございます!
そういうふうにやるんですね。。
自力で考えて一応取得することはできたのですが、こんなに長くなってしまいました(笑
=IF(WEEKDAY(DATE(A1,8,15),1)=1,DATE(A1,8,11),IF(WEEKDAY(DATE(A1,8,15),1)=2,DATE(A1,8,15),IF(WEEKDAY(DATE(A1,8,15),1)=3,DATE(A1,8,14),IF(WEEKDAY(DATE(A1,8,15),1)=4,DATE(A1,8,13),IF(WEEKDAY(DATE(A1,8,15),1)=5,DATE(A1,8,14),IF(WEEKDAY(DATE(A1,8,15),1)=6,DATE(A1,8,13),DATE(A1,8,12)))))))

やっぱり関数に疎いとこんな感じになってしまうのですね。。
大変勉強になりました。
ありがとうございました!

投稿日時 - 2015-12-04 17:11:50

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(3)

ANo.2

夏期休暇は企業が自社の都合で決めることであって法律などで決まっているものではありません。その時の仕事の状況によっても変わるでしょう。ルールがあるのであれば就業規則などに書いてあるでしょう。
どこの会社の話かもわからない赤の他人に分かることではありません。

投稿日時 - 2015-12-04 16:39:43

補足

ご回答ありがとうございます。
もちろん会社によっては変わることなんて重々承知しております。
なので、弊社での休み例を記載させて頂いた次第です。

投稿日時 - 2015-12-04 16:50:37

ANo.1

取得する前の夏季休暇データが既にあるのでしたら、手動でコピーしたほうが早そうです。
国民の休日も変化しますので、カレンダーから手動でコピーすることをお勧めします。
https://sites.google.com/site/nipponnoshukujitsuichiran/

投稿日時 - 2015-12-04 16:35:06

補足

ご回答ありがとうございます。
祝日に関しては第○月曜日だったり、春分の日、秋分の日については年によって変わること、国民の休日についても理解しております。
ただ、それらについては全て関数を用いて取得することができます。
なので、(ついでに)夏季休暇にもどうにか自動的に取得させたいと思い質問させて頂いた次第です。

投稿日時 - 2015-12-04 16:54:48

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-