Googleスプレッドシートで、指定した月の日数を求める方法についてです。「その月の末日の日付は何日か」という考え方で求められます。
- 日付から(その日が属する)月の日数を求める場合は「=DAY(EOMONTH(日付,0))」とします。
- 年と月の数値から月の日数を求める場合は「=DAY((DATE(年,月+1,0)))」とします。
手順
日付をもとに、その日付が属する月の日数を求める場合です。
画像では、C2セルに入力された日付をもとに、C4セルに次のように入力して月の日数を求めています。
=DAY(EOMONTH(C2,0))
EOMONTH関数で第2引数を0とすることで「日付が属する月の末日の日付」を求めることができます。
あとはDAY関数でその日付が何日なのかを求めています。これがその月の日数です。
年と月の値(数値)をもとに、その月の日数を求める場合です。
画像では、C2,C3セルに入力された年,月をもとに、C5セルに次のように入力して月の日数を求めています。
=DAY((DATE(C2,C3+1,0)))
DATE関数を使い、その年月の末日を求めています。「翌月の0日目」という式になっていますが、これでその月の末日が求められます(12月を指定した場合でもうまくいきます)。
あとはDAY関数でその日付が何日なのかを求め、これがその月の日数となります。