【Excel】年度(Financial Year)を求める

ワークシート関数で会計年度を求める方法は、EDATE関数とYEAR関数を組み合わせて求めることができます。

EDATE関数

EDATE関数は指定された月数だけ前または後の日付を求める関数です。

=EDATE(開始日,月)

開始日は起点となる日付で、月は開始日から何か月後、または何か月前を指定します。
月数が正の値は何か月後を求め、負の値は何か月前を求めます。
下の例では2022/1/31の4か月前を求めています。
ちなみにDATEVALUE関数は日付の文字列を日付型(シリアル値)に変換する関数です。

=EDATE(DATEVALUE("2022/1/31"),-4)

  4か月前 → 2021/9/30

上の例を見ていただくとわかる通り、年も自動的に変わります。
日にちは原則変わらないのですが、月末で存在しない日にちの場合は自動的に変わるようです。
月末を求めているわけではないので注意です。

=EDATE(DATEVALUE("2022/2/28"),-4)

  4か月前 → 2021/10/28

会計年度の求め方

会計年度はこの関数を利用して求めます。
会計年度(3月決算)は1/1~3/31までが特殊で、年替わりと年度替わりの位置が3か月ずれている(進んでいる)ということが特徴です。
よって、EDATE関数で3か月戻すことによって1月~3月は必ず前の年になる。。。
つまり会計年度になるというわけです。

=EDATE(DATEVALUE("2022/1/1"),-3) → 2021/10/1 
=EDATE(DATEVALUE("2022/3/31"),-3)→ 2021/12/31 
=EDATE(DATEVALUE("2022/4/1"),-3) → 2022/1/1

年度の取り出し(YEAR関数)

あとはYEAR関数で年を取り出せばOKです。

=YEAR(EDATE(開始日,-3))

IF関数

if関数を使って、月が1~3(4月より前)の時は年をマイナス1するという方法もあります。

=IF(MONTH(開始日)<4,YEAR(開始日)-1,YEAR(開始日))
                    ^^^^^^^^^^^^^^^^
            ↑
          1~3月のときのみ計算される式