いきなり答える備忘録

Google Workspace・Microsoft 365・LibreOfficeなどに関するメモ

(Gスプレッドシート)指定した月の日数を求める

 Googleスプレッドシートで、指定した月の日数を求める方法についてです。「その月の末日の日付は何日か」という考え方で求められます。

  • 日付から(その日が属する)月の日数を求める場合は「=DAY(EOMONTH(日付,0))」とします。
  • 年と月の数値から月の日数を求める場合は「=DAY((DATE(年,月+1,0)))」とします。

手順

f:id:accs2014:20200630061719p:plain:right:w450

 日付をもとに、その日付が属する月の日数を求める場合です。

 画像では、C2セルに入力された日付をもとに、C4セルに次のように入力して月の日数を求めています。

=DAY(EOMONTH(C2,0))

 EOMONTH関数で第2引数を0とすることで「日付が属する月の末日の日付」を求めることができます。
 あとはDAY関数でその日付が何日なのかを求めています。これがその月の日数です。
 

f:id:accs2014:20200630061723p:plain:right:w450

 年と月の値(数値)をもとに、その月の日数を求める場合です。

 画像では、C2,C3セルに入力された年,月をもとに、C5セルに次のように入力して月の日数を求めています。

=DAY((DATE(C2,C3+1,0)))

 DATE関数を使い、その年月の末日を求めています。「翌月の0日目」という式になっていますが、これでその月の末日が求められます(12月を指定した場合でもうまくいきます)。
 あとはDAY関数でその日付が何日なのかを求め、これがその月の日数となります。