EXCEL で、最終金曜日を算出することができるんだろうか?
カレンダー見ればすぐにわかるけど。。。
カレンダー表記でなく1セル内で完結させたい。
そのうえ、大の月、小の月、2月、閏年・・・カレンダー特有に起きるIF文大会は避けたい気分。
数年前、プレミアムフライデーということが設定されていました。。。今では、死語になってしまったような。。。どこかで役に立つかも???
そんなことで、EXCEL で最終金曜日を算出したいときの方法をまとめました。
対処方法
1.EXCEL のシートで、年月日(日付は1日)としてセルに入力します。1日という表記がおかしいので、「年月」表記にしています。
2.表示したいシートのセルに、以下の関数を入力します。
=B5+27-WEEKDAY(B5)+IF(DAY(EOMONTH(B5,0))-DAY(F5)-7>=0,7,0)
解説。
B5+27-WEEKDAY(B5)・・・どの月にも該当する日数計算。月初から27日加算して、曜日で算出された数値をマイナスすると、第4金曜日が算出されます。
WEEKDAY(B5)で、月初日(1日)が日曜日なら1,月曜日なら2・・・土曜日なら7
IF(DAY(EOMONTH(B5,0))-DAY(B5+27-WEEKDAY(B5))-7>=0,7,0)
・・・もし、月中の最大日数(EOMONTH)と第4金曜日を比較して7日以上あれば、あと7日加算します。
3.算出された行以降、年月設定&ドラッグして年間の表にします。
金曜日特有の計算式でありません。
使用している数値を変更すると、金曜日以外でも対応できます。