Excelで日付から“年度”を自動で判定したいという場面は多いです。例えば、会計年度が4月始まりの会社や学年度制度の学校では、年度と暦年がずれるためデータ処理が複雑になります。そこでこの記事では、年度を求める方法、Excelの関数を使った実践的な数式、開始月を任意に設定する応用例、よくあるトラブルとその対策までを解説します。これを読めば“年度”判定で迷うことはなくなります。
エクセル 関数 年度 を取得する基本的な方法
日付から年度を取得するには、“エクセル 関数 年度”というキーワードを念頭に、まずは最も基本的な考え方を押さえます。“年度”とは一般に年度の始まり月から翌年の前月までをひとつの期間とする概念です。日本では多くが4月1日から翌年3月31日を年度として扱っています。
暦年(1月から12月)とは異なり、年度は始まり月によって属する“年度年数”が変わるため、Excelで自動化する際にはこの“始まり月”を基準に判定するロジックが不可欠です。
年度の定義とは何か
年度とは、業務・予算・学業など特定の目的に応じて区切られた1年間の期間です。日本では一般に4月に始まり翌年3月に終わる年度を採用しているため、4月以降の日付はその年の年度、1月から3月までの日付は前年の年度と判定するルールが広く使われます。用途により会計年度や学年度など期間が固定されている場合が多いため、この定義を先に理解することが極めて重要です。
IF・MONTH・YEAR 関数を使った年度取得の数式
最もよく使われている数式は、IF・MONTH・YEARを組み合わせたものです。Eセルに日付があったとき、
=IF(MONTH(E1)>=4,YEAR(E1),YEAR(E1)-1)
という形にすることで、4月以降はその年を年度とし、1~3月は前年を年度とする判定ができます。この数式は日本の4月始まりの年度に対応していますが、年度開始月を変更したい場合には“4”の部分を変えることで任意月始まりにも対応可能です。
EDATE 関数や DATE 関数を使った別の方法
別のアプローチとして、EDATE 関数を使って日付を“年度の始まり月からマイナス分”だけ調整し、その年(YEAR)を取得する方法があります。具体的には、4月始まりなら3か月前の日付の年を取得することで年度とする方法です。
=YEAR(EDATE(E1,-3))
この方法は IF 関数を使うより書式がシンプルで、条件付きで数式を変更する必要が少ないのが利点です。ただし“月の調整”によって日付の月・日が変わるため、月末扱いやデータの性質によってはDAY 関数や DATE 関数を用いた細かい調整が必要になることがあります。
任意の開始月を設定して年度を求める応用例
企業や団体によって、会計年度の始まり月が4月以外であることがあります。7月始まり・1月始まり・10月始まりなどです。こうしたケースでも“年度”を正確に求めるには、基準月(年度始まり月)を可変にして数式を作ることが必要です。ここでは基準月を自由に設定する応用的な方法を紹介します。
年度始月を変数として扱う数式
基準となる開始月をセルに入力しておき、それを参照する数式を使うと管理がしやすくなります。例えば開始月を F1 セルに設定すると、Eセルの日付で年度を求める数式は
=YEAR(E1)-IF(MONTH(E1)<F$1,1,0)
のようにできます。こうすることで基準月を簡単に変更でき、異なる開始月の年度でも汎用的に対応できる数式となります。
文字列で「年度」を付加する表記整形
年度を数値だけでなく「2024年度」のように文字列として表示したい場合には TEXT 関数などを使って整形します。たとえば、先述の数式の結果に文字列を追加する形です:
=IF(MONTH(E1)>=4,YEAR(E1),YEAR(E1)-1)&"年度"
このようにすると、自動で「年度」という文字が付くため報告書などにそのまま使いやすくなります。視覚的にも年度であることが分かるのでミスが防げます。
四半期・週単位と年度の開始月が異なるパターンの対処
年度を四半期単位または会社の慣例で10月始まりなど特定の月から始まるケースがあります。こういったパターンでも、MONTH 関数で月部分を取得し、基準となる開始月と比較することで正しい年度年数を返せます。数式例として:
=IF(MONTH(E1)>=10,YEAR(E1),YEAR(E1)-1)
この例は10月始まりの年度で、10月から12月はその年の年度、1月から9月は前の年の年度となります。開始月さえ判明すれば数式の“比較対象”を変更するだけで対応できます。
実践的なケース別サンプル
ここではよくある利用場面を題材に、実際の数式例を紹介します。自分の環境にあわせて調整してみて下さい。様々な開始月や書式の要件に応じて、サンプルが参考になります。
4月始まりの会計年度を扱う例
日本の企業で典型的な4月始まりの会計年度を扱う場合、Eセルに日付があるときの数式:
=IF(MONTH(E1)>=4,YEAR(E1),YEAR(E1)-1)
また見た目を「2024年度」としたいなら:
=IF(MONTH(E1)>=4,YEAR(E1),YEAR(E1)-1)&"年度"
7月始まり・10月始まりなどの特殊年度
たとえば7月始まりの場合、6月までは前年の年度、7月以降はその年を年度とします。例として:
=IF(MONTH(E1)>=7,YEAR(E1),YEAR(E1)-1)
10月始まりなら先ほどの10月の例と同様です。用途に応じて開始月を変更し、判定条件を MONTH 関数で比較するだけで簡単に対応可能です。
データベース風に複数の年度をまとめて処理する例
日付が入力された列に対して、一括で年度の列を作成する例です。たとえば E 列に日付が多数あり、F 列に年度を自動で表示する場合、F2 に次の数式を入れてオートフィルで下までコピーします:
=IF(MONTH(E2)>=4,YEAR(E2),YEAR(E2)-1)(4月始まりの場合)=IF(MONTH(E2)>=F$1,YEAR(E2),YEAR(E2)-1)(開始月をセルで指定する場合)
さらに “年度” 表示を付けたいなら &"年度" を追加します。こうした列を作ることで集計や分析が容易となります。
よくあるトラブルとその対策
年度を求める数式を使っていると、思わぬミスや誤判定が起こることがあります。ここではその代表例と回避策を紹介します。最新情報をもとに、使いこなしに役立つポイントです。
月末・端数日の影響で年度がずれる問題
例えば日付が「1月の末日」であったり、閏年や月末処理で日付がずれていたりすると、EDATE を使った調整で意図しない日付となる可能性があります。EDATE 関数は月数の加算減算を行うため、月末処理で日が無い月に調整されることがあるからです。こういった場合は DATE 関数と DAY 関数を使った手動調整を併用すると安心です。
開始月を誤って設定してしまうケース
年度の開始月を固定で“4月”と決めているテンプレートを使用している場合、他の業種や国の会計年度では異なる始まり月であることがあります。開始月の数字をハードコーディングせずセルで指定すると、ミスを防げます。数式中に“4”などのリテラルが散在しているとメンテナンス性が落ちます。
西暦形式・和暦形式で表示が混在するケース
Excelの表示形式として和暦を使っているデータと、西暦表示データが混在していたり、年度表示の前後に“年度”という文字列を付けたりする場合、年数だけでなく表示形式の統一が重要です。TEXT 関数や書式設定のユーザー定義を活用し、“0000年度”形式などに揃えることが読み手に優しい資料になります。
まとめ
エクセルで“年度”を正しく取得するには、“暦年”とは異なる“年度の始まり月”という考え方をベースに数式を組むことが基本です。IF・MONTH・YEAR 関数を組み合わせる方法と、EDATE を使って調整する方法が主流で、用途に応じて使い分けができます。
また、年度始まり月が4月以外の会社や組織でも対応できるように可変する数式を使用し、表示形式を整えることで誤解を防ぐことが重要です。
これらを身につけることで、人事・経理・学務など“年度で管理したい”業務をスムーズにこなせるようになります。
コメント