2021年4月7日水曜日

前月同日は、DATE(YEAR(B2),MONTH(B2)-1,DAY(B2))ではなく、EDATE(B2,-1)を使う~EXCELの関数技のお話

 EXCELの関数で、前月同日はどう表現するのか、最初にググって、試したのは、DATEとYEAR,MONTH,DAYを組み合わせたものだった。当日の日付がB2セルに設定されていると仮定する。前月同日は、=DATE(YEAR(B2),MONTH(B2)-1,DAY(B2))という関数で求めることができる。  

 ところが、=DATE(YEAR(B2),MONTH(B2)-1,DAY(B2))だと、当日が月末(29日~31日)に差し掛かると前月同日が同じ日が存在しないため、マズいことが起こる。例えば、当日が2021年3月31日であった場合、前月同日は2021年2月28日となるべきだが、このDATE,YEAR,MONTH,DAYの組み合わせだと、2021年3月3日?になってしまうのだ。  

 こんなときは、=EDATE(B2,-1)を使うと、具合が良くなるのだ。先の例でも、これなら、ちゃんと2021年2月28日を求めることができるのだ。 

 前月同日の関数は、=DATE(YEAR(B2),MONTH(B2)-1,DAY(B2))ではなく、=EDATE(B2,-1)を使いましょう!(B2セルに当日の日付が設定されていると仮定) 

 そして、前年同日の関数は、 =DATE(YEAR(B2)-1,MONTH(B2),DAY(B2))ではなく、=EDATE(B2,-12)を使いましょう!

 ちなみに、ACCESSだとEDATE関数が使えず、DateAdd関数を使う。同月同日ならばDateAdd("m",-1,[日付])やDateAdd("m",-1,TODAY()-1)。前年同日ならばDateAdd("yyyy",-1,[日付])とかDateAdd("yyyy",-1,TODAY()-1)といった「さばき」になる。

 ここで、一息のコーナー。空豆を茹でると、栄養分が湯に流れ出るので、勿体ない。そこで、レンジで600w、2分30秒から3分で鞘のついたまま、チン。ホクホクして、実においしい。

 

0 件のコメント:

コメントを投稿