わえなび ワード&エクセル問題集 waenavi

当サイトはWordとExcelの実力を鍛える最高水準の特訓問題集です。リンクを張るのは自由です。みんなで勉強しましょう!

【Excel関数】プレミアムフライデー(月末金曜)を求める公式と日付の計算方法


プレミアムフライデーとは、毎月最終金曜日に早く帰って豊かな週末を過ごそうという無理ゲーキャンペーンです。

「プレミアムフライデー」に関する情報発信は、平成28年度に官民で連携して設立された「プレミアムフライデー推進協議会」のサイト(premium-friday.com)を通じて行われてきましたが、このサイトについては、2023年6月に閉鎖されています。 

ところで、パソコンの得意な人たちは、「月末金曜」と聞くと、週末の予定よりもその日付をどうやって計算するかを考えてしまいます。職業病でしょうか?そこで、今回は、月末金曜に関する問題をExcelで出題します。 

目次

1.プレミアムフライデーの間隔

問題

プレミアムフライデーとは毎月最終金曜日のことである。2017年2月24日を第1回プレミアムフライデーとする。セルA1に「2017/2/24」と入力して第2回以降のプレミアムフライデーの日付を順次求めなさい。

f:id:waenavi:20180924182928j:plain

 

解説

同じ曜日であればその間隔は必ず7の倍数になりますが、特に、プレミアムフライデー同士の間隔は必ず28日または35日になります。

f:id:waenavi:20180924184114j:plain

 

1か月=28~31日なので、最終週の28日後は必ず翌月に存在しますが、42日後は必ず翌々月になるからです(21日後や42日後は最終金曜日にならない)。

f:id:waenavi:20180924184117j:plain

 

ちなみに、28日後である確率は約65.2%です。

f:id:waenavi:20180924184119j:plain

 

セルA1の日付がプレミアムフライデーであることがわかっている場合、その次のプレミアムフライデーは原則として28日後(A1+28)です。

f:id:waenavi:20180924184121j:plain

 

そして、28日後と35日後の月が同じ場合は35日後のほうが最終金曜日になるのでプレミアムフライデーになります。この場合は、さらに7を加算します。

f:id:waenavi:20180924184124j:plain

 

したがって、次回のプレミアムフライデーの日付を求める式は次のようになります。

=A1+28+(MONTH(A1+28)=MONTH(A1+35))*7

セルA1に第1回のプレミアムフライデーである「2017/2/24」を入力します。次回のプレミアムフライデーの日付を求める計算式を入力します。

f:id:waenavi:20180924184126j:plain

 

これを繰り返すことによって、第2回以降のプレミアムフライデーの日付を順次求めることができます。

f:id:waenavi:20180924184129j:plain

 

2.月末最終日と月末金曜日の差

問題

行番号ROW()を用いて、第1回から第100回のプレミアムフライデーの日付を求めなさい。

f:id:waenavi:20180924182930j:plain

 

解説

いっぱんに、プレミアムフライデー、つまり最終金曜日の日付を求めるには、当月末日の日付から、金曜日との曜日の差を引きます。金曜日との差を求めて末日からさかのぼるのが鉄則です。

f:id:waenavi:20180924184131j:plain


Excelの場合、曜日を求めるWEEKDAY関数は、日~土曜日を1~7の整数で返しますので、末日と金曜日との差は、翌日(翌月1日)の曜日とほぼ一致します。

f:id:waenavi:20180924184948j:plain


したがって、Excelの場合、プレミアムフライデーの日付は、当月の最後の日(末日)から、翌月の1日の曜日を7で割った余りを引けばよいです。

f:id:waenavi:20180924184951j:plain

 

曜日を7で割った余りはMOD関数とWEEKDAY関数を使います。
当月末日と翌月1日は1日違いなので、当月末日または翌月1日の日付からプレミアムフライデーを求めることができます。

f:id:waenavi:20180924184953j:plain


例えば、第1回のプレミアムフライデーは2017年2月でしたが、翌月の1日は2017年3月1日です。1を引くことで、2月の末日、2017年2月28日を求めることができます。

f:id:waenavi:20180924184956j:plain


プレミアムフライデーは月に1回なので、月をn+2とすれば、n回目のプレミアムフライデーとなります。

f:id:waenavi:20180924184958j:plain


Excelの場合、行番号ROW()が連番になっているので、これに合わせてプレミアムフライデーの日付を求めます。

f:id:waenavi:20180924185001j:plain

 

したがって、行番号を用いてプレミアムフライデーの日付を求める計算式はつぎのようになります。

  • =DATE(2017,ROW()+2,1)-1-MOD(WEEKDAY(DATE(2017,ROW()+2,1)),7)

f:id:waenavi:20180924185003j:plain

 

1行目から100行目までにこの計算式を貼り付けると第1回から第100回のプレミアムフライデーが計算できます。

f:id:waenavi:20180924185005j:plain

 

3.年と月から月末金曜を求める

問題

次の図のように、2017年2月以降の年と月が与えられている場合にプレミアムフライデーの日付を求めなさい。

f:id:waenavi:20180924182933j:plain

 

解説

年と月が与えられている場合もさきほどの公式に当てはめて計算します。

f:id:waenavi:20180924185758j:plain

 

年と月を参照しながら、計算式を入力します。

  • =DATE(A2,B2+1,1)-1-MOD(WEEKDAY(DATE(A2,B2+1,1)),7)

f:id:waenavi:20180924185802j:plain


これでプレミアムフライデーが計算できます。

f:id:waenavi:20180924185804j:plain

 

4.任意の日付から月末金曜を求める

問題

セルC2に2017年2月以降の任意の日付を入力して、セルD2に、同じ月のプレミアムフライデーの日付を求めなさい。

f:id:waenavi:20180924182935j:plain

 

解説

任意の日付からその月の最後の日を求めるにはEOMONTH関数を使います。翌月の1日は1を足すだけです。

f:id:waenavi:20180924185806j:plain


これをプレミアムフライデーの公式に当てはめます。

f:id:waenavi:20180924185809j:plain


セルC2に任意の日付を入力します。計算式を入力します。

  • =EOMONTH(C2,0)-MOD(WEEKDAY(EOMONTH(C2,0)+1),7)

f:id:waenavi:20180924185811j:plain


これで最終金曜日を求めることができます。1日の日付を入力してその隣にプレミアムフライデーの日付を求めることができます。

f:id:waenavi:20180924185942j:plain

(表示形式を変える)

f:id:waenavi:20180924185944j:plain

 

5.別解:FLOOR関数を用いた計算方法

問題

さきほどの問題についてFLOOR関数で求めなさい。

f:id:waenavi:20180924182933j:plain

f:id:waenavi:20180924182935j:plain

 

解説

上記の計算方法のほかにFLOOR関数を用いる方法があります。詳しくはこちらの記事をご覧ください。

  • 最終金曜日:=FLOOR(今月末+1,7)-1
  • 最終金曜日:=FLOOR(翌月月初,7)-1

 

年と月が与えられている場合は、DATE関数で求めます。

  • =FLOOR(DATE(A2,B2+1,1),7)-1

f:id:waenavi:20191110112710j:plain

 

任意の日付からその月の最終金曜を求めるには、EOMONTH関数を使います。

  • =FLOOR(EOMONTH(C2,0)+1,7)-1

f:id:waenavi:20191110113058j:plain

 

6.プレミアムフライデーの条件式

問題

セルC2に任意の日付を入力したときに、その日がプレミアムフライデーかを判定しなさい。

f:id:waenavi:20180924182938j:plain

 

解説

月末最終金曜日であるための条件は、その日が金曜日であることと、7日後が次の月にまたがることです。

f:id:waenavi:20180924190434j:plain


その日がプレミアムフライデーであれば、その2つの条件を同時に満たしているはずです。

f:id:waenavi:20180924190437j:plain


計算式を入力します。TRUEまたはFALSEで判定できます。

  • =(WEEKDAY(C2)=6)*(MONTH(C2)<>MONTH(C2+7))

f:id:waenavi:20180924190439j:plain


さらに、「プレミアムフライデー」というキャンペーンが始まったのが2017年2月なので、それ以降であることを判定するには、2017年2月1日のシリアル値42767と比較する条件式の追加が必要です。

f:id:waenavi:20180924190441j:plain

 

6.テストに出る!重要公式まとめ

f:id:waenavi:20180924172652j:plain

 


解説は以上です。


7.動画版はこちら

この記事は、わえなび特別講義「プレミアムフライデー(月末金曜)を求める公式と日付の計算方法」のYoutube動画を書き起こしたものです。

わえなび

 


Copyright(C)2018-2021 waenavi, All rights reserved. [www.waenavi.com 定礎 平成三十年八月]
Youtube | 公式サイト | twitter | 著作権 | 運営者情報 | お問い合わせ