- ベストアンサー
エクセルに詳しい方、教えてください。
月末の前日の平日(祝日がある時は、前日)の求め方を教えてください。 よろしくお願いします。 ※年末は、29日から休暇になりますので、27日(土日の時は、前日)を求めたいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#1です case関数はchoose関数の間違いです。 エクセルの関数ヘルプも見てください。 workdayも使えそうですね
その他の回答 (2)
- msMike
- ベストアンサー率20% (364/1804)
》 年末は、29日から休暇になりますので、27日(土日の時は、前日)を求めたいです 確認しておきたいのですが、年末の前日の平日が27日になるのは西暦何年のハナシですか?
- shintaro-2
- ベストアンサー率36% (2266/6245)
まず、指定月の月末を求める方法を考えます。 それは指定月の翌月の1日前の日付ということです。 つまり 8月の月末を求めるのなら 9月1日の前ということ。 month関数を使ってでも何でもよいです セルA1に求める月末の月を入力したとすると セルb1に、="(2016/"&a1+1&"/1)"*1 セルb2に、=b1-1 とでも入力すれば b2のデータが2016/8/31になるはずです。 そうして、8月の月末の曜日を判定し、 土日なら金曜日まで遡るということです。 これは、weekday関数と、if関数、あるいはcase関数で可能です。 (weekday関数は、日曜を0以外にも指定可能です) b3に =case(weekday(b2),b2-2,b2,b2,b2,b2,b2,b2-1) とでも入力しておけば良いでしょう。 関数での実現方式はいろいろありますので工夫してください。 年末の休みの情報はエクセルは持っていませんので シートの余白は、別のシートに祝日情報を記載して 計算した月末がその祝日に該当するかどうか調べ、 該当したら日付をずらすということになります。 祝日と一致するかどうかは、vlookupを使うのが簡単です。