いきなり答える備忘録

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

(Gスプレッドシート)日付から年度を求める

 Googleスプレッドシートで、日付がどの年度に属しているか、数値として求める方法についてです。

  • ある日付の年度は「=YEAR(日付)+IF(MONTH(日付)<4,-1)」で求められます。
  • 「=YEAR(EDATE(日付,-3))」でも求められます。

手順

f:id:accs2014:20200614111310p:plain:right:w600

 B列にいくつかの日付が入力されています。
 ここでC3セルとD3セルにそれぞれ次のような式を入力して、2通りの方法でB3セルの日付の年度を求めます。

 C3セル

=YEAR(B3)+IF(MONTH(B3)<4,-1)

 まずYEAR関数で「年」を求め、IF関数とMONTH関数を使い「月」が4未満だったら(1~3月だったら)1をひく、という内容です。これで年度が求められます。

 D3セル

=YEAR(EDATE(B3,-3))

 EDATE関数を使って3か月前の日付を求め、外側のYEAR関数でその日付の「年」を求めています。これでも年度が求められます。
 

f:id:accs2014:20200614111315p:plain:right:w600

 確定してさらに式を下方にフィルコピーした結果です。
 3月31日と4月1日を境にして値が切り替わり、年度の値が求められているのがわかります。

 なお、年度の開始月が4月以外の場合であっても考え方は同様です。
 EDATE関数を使う場合は「=YEAR(EDATE(B3,-開始月+1))」で年度(開始月が属するの年の数字)が求められます。