Excel。年度を算出するならEDATE関数。さらに、2019年5月1日以降も平成31年度にしたい
<EDATE関数・YEAR関数・TEXT関数と条件付き書式>
日付から年だけを表示するなら、YEAR関数を使えば簡単に算出することができますが、年度で表示するには、どうしたらいいでしょうか?B列の暦年は、1月1日~同年12月31日ですので、B2の数式は、
=YEAR(A2)&"年"
とすることで、簡単に算出することができます。
YEAR関数は、日付から「年」を抽出することができる関数です。
なので、2021/1/1は2021年と表示されています。
あと、「&」をつかうことで、文字結合することができます。
では、年度のC列はどのようにしているのでしょうか?
年度の問題点は、4/1~翌年3/31というように、越年していることです。
YEAE関数では算出することはできなのは、想像できますね。
そこで、使用する関数は、『EDATE関数』
C2の数式は、
=YEAR(EDATE(A2,-3))&"年度"
EDATE関数は、あまり使用頻度が多くない関数だと思いますが、年度を算出する時に大活躍してくれます。
EDATE関数は、指定した日付の前後の月を算出することができる関数です。
EDATE(A2,-3)という計算式は、
A2は、2020/4/1なので、その月の数値は4。「-3」するので、2020/1/1を算出することができます。
仮に、EDATE(A2,1)とすると、翌月同日ということなので、2020/5/1と算出することができます。
年度と暦年は、「3ヶ月」ずれているので、EDATE関数をつかって、3か月前にした日付にして、その年を抽出することで、『年度』を算出することができます。
2020年度とC列は算出されていますが、元号で年度を算出するケースも確認しておきましょう。
D2の数式は、
=TEXT(EDATE(A2,-3),"ggge年度")
としてあります。
YEAR関数だと年の数値を算出しますが、これだと、元号に変更できませんので、表示形式を設定することができる、TEXT関数を使うことで、元号での年度にできます。
しかし、この元号の年度は少々問題を含んでいます。
それは、『令和元年度問題』。
2019年5月1日から令和に改元されましたが、年度としては、平成31年度なので、令和元年度で表示するのではありません。
すると、「-3」しているので、2019/8/1は、平成31年度ではなくて令和1年度と表示されてしまいます。
そこで、IF関数を使ってもいいのですが、数式が煩雑になるので、ここは、条件付き書式で対応する方法をご紹介します。
新たにE列を作りました。
E5の数式は、
=EDATE(A5,-3)
としています。結果は、シリアル値で算出されます。
E5:E9を範囲選択して、ホームタブの「条件付き書式」から新しいルールをクリックして、新しいルールダイアログボックスを表示します。
ルールの種類を「指定の値を含むセルだけを書式設定」を選択します。
ルールの内容は、
セルの値で次の値の間を使用します。43586は2019/8/1のシリアル値です。
43830は、2020/3/31のシリアル値です。
要するに、2019/8/1~2020/3/31の間という条件です。
書式ボタンをクリックします。
セルの書式設定ダイアログボックスが表示されますので、表示形式を「ユーザー定義」にして、種類を「平成31年度」としてOKボタンをクリックします。
先程の新しいルールダイアログボックスに戻りますので、OKボタンをクリックします。
2019/8/1は平成31年度と表示することができました。
あとは、条件付き書式でそれ以外の範囲の設定をします。
先程と違うのは、「次の値の間以外」にします。
表示形式の「ユーザー定義」の種類を「ggge”年度”」とします。
令和元年度にするならば、簡単なことなのですが、これで、平成31年度で対応することができます。
年度はケースバイケースで算出する方法が色々ありますので、それぞれにあった算出方法を見つけてみるといいかもしれませんね。