2/10/2023

Excel。2か月後の最初に来る日曜日を手早く知るにはどうしたらいいの【months later】

Excel。2か月後の最初に来る日曜日を手早く知るにはどうしたらいいの

<EDATE+WEEKDAY関数>

何か月後を知るには、EDATE関数をつかうことで、算出することができます。


EDATE関数をつかえば、2022/10/1の2か月後ならば、2022/12/1と算出することができます。


ただ、EDATE関数では、曜日での調整をすることはできません。


例えば、2か月後の最初に来る日曜日を知りたい場合です。


どのような数式をつくったらいいのか確認していきます。

A2には、「2022/9/25」と入力してあります。


この日は、日曜日です。


2か月後の最初の日曜日の日付をA4に算出していきます。


なお、EDATE関数で2ヶ月後を算出したのが、A7です。

A7の数式は、

=EDATE(A2,2)


A7の日付は、「2022/11/25」と算出されますが、この日は、金曜日です。

この日の後にくる、日曜日を算出したいわけです。


そこで、A4に設定した数式は、

=EDATE(A2,2)+7-WEEKDAY(EDATE(A2,2),11)


これで、算出したのが、A4の「2022/11/27」で、この日は、日曜日です。


ポイントになるのが、「+7-WEEKDAY(EDATE(A2,2),11)」の部分です。


EDATE関数で算出した、何か月後の日付の曜日に、足りない曜日分を和算する作業をしているわけです。


日付を「2022/9/27」で説明していきます。


EDATE関数で算出した結果が、希望の曜日。

つまり、日曜日だった場合は、EDATE関数で算出した結果でいいわけですから、「+(プラス)」する必要はありません。


どうやったら「+0」をつくることができるのかを考えます。


WEEKDAY関数は、種類によって、曜日に番号を振ってくれる関数です。


日曜日が7と算出されれば、7-7で「0」をつくることができます。


WEEKDAY関数の2つ目の引数である「種類」を「11」で設定してあげれば日曜日を「7」と算出することができます。


もし、日曜日でなくて、月曜日で揃えたい場合には、「種類」を「12」に変更すれば、月曜日で揃えることができます。


少し数式が複雑なので、数式タブにある「数式の検証」をつかうことで、どのように算出されているのかを視覚的に確認することもできます。