こんにちは、SkillStack Lab運営者のスタックです。
Excelの日付から年度を求めたいものの、「1月から3月だけ前年になる」「4月始まり以外の計算式が分からない」「四半期や和暦も自動表示したい」と迷っていませんか。
結論から言うと、A2セルの日付から4月始まりの年度を求める数式は、次のとおりです。
=IF(A2="","",YEAR(EDATE(A2,-3)))
たとえば、2025年4月1日から2026年3月31日までの日付は、すべて「2025」と判定されます。
ポイントは、日付を3か月前へずらしてからYEAR関数で年を取り出すことです。これにより、1月から3月の日付も前年度として計算できます。
この記事では、4月・7月・10月など任意月から始まる年度、西暦・和暦の表示、四半期、ピボットテーブル、空白やエラーへの対応まで解説します。
A2セルには、Excelが日付として認識している値を入力してください。見た目が日付でも、文字列として保存されている場合は数式がエラーになることがあります。
- 4月始まりの年度を計算するExcel関数
- 任意月から始まる年度と四半期の求め方
- 年度を西暦・和暦で表示する方法
- ピボット集計・空白・文字列日付への対応
4月始まりの年度を計算する完成式
4月1日から翌年3月31日までを同じ年度として扱う場合は、次の数式を使用します。
=YEAR(EDATE(A2,-3))
空白セルにも数式をコピーする場合は、IF関数を追加した次の式が使いやすくなります。
=IF(A2="","",YEAR(EDATE(A2,-3)))
| A2の日付 | 3か月前の日付 | 年度の結果 |
|---|---|---|
| 2025/04/01 | 2025/01/01 | 2025 |
| 2025/12/31 | 2025/09/30 | 2025 |
| 2026/01/01 | 2025/10/01 | 2025 |
| 2026/03/31 | 2025/12/31 | 2025 |
| 2026/04/01 | 2026/01/01 | 2026 |
YEAR関数だけを使って=YEAR(A2)とすると、2026年1月から3月は「2026」と判定されます。
EDATE関数で日付を3か月戻すことで、1月から3月を前年の10月から12月へ移動させ、年度の開始年を取得しています。


EDATE関数は、開始日から指定月数だけ前後した日付を返します。第2引数へ負の数を指定すると、過去の日付へ移動できます。
開始月別の年度計算式早見表
年度の開始月が4月以外の場合は、「開始月-1」の月数だけ日付を戻します。
| 年度の開始月 | 戻す月数 | A2の日付から年度を求める式 |
|---|---|---|
| 1月 | 0 | =YEAR(A2) |
| 4月 | 3 | =YEAR(EDATE(A2,-3)) |
| 7月 | 6 | =YEAR(EDATE(A2,-6)) |
| 10月 | 9 | =YEAR(EDATE(A2,-9)) |
年度の開始月をB1セルへ入力し、数式を共通化することもできます。
=IF(A2="","",YEAR(EDATE(A2,1-$B$1)))
B1へ「4」を入力すると3か月前、「10」を入力すると9か月前へ日付を移動します。
会社ごとに決算月が異なる一覧を作る場合や、将来の決算期変更に備える場合は、開始月をセルで管理すると数式を修正しやすくなります。
この記事では、年度を「年度が始まる年」で表します。たとえば2025年4月1日から2026年3月31日までは、2025年度です。
EDATE関数とIF関数のどちらを使うか
4月始まりの年度は、IF関数でも計算できます。
=IF(A2="","",IF(MONTH(A2)<4,YEAR(A2)-1,YEAR(A2)))
この式は、月が4未満なら年を1つ引き、4月以降ならカレンダー上の年をそのまま返します。
| 方法 | 数式の特徴 | 向いている場面 |
|---|---|---|
| EDATE関数 | 開始月に応じて日付をずらす | 4月以外の開始月にも対応したい |
| IF関数 | 月を判定して前年か当年を返す | 4月始まりのロジックを式で明示したい |
どちらも同じ結果になります。開始月が変わる可能性がある場合は、EDATE関数の方が数式を共通化しやすくなります。
「2025年度」「FY2025」と表示する方法
YEAR関数の結果は「2025」のような数値です。
集計や並べ替えに使用する場合は、文字列を結合せず、数値のまま保持することをおすすめします。
表示形式で「2025年度」にする
- 年度が入ったセルを選択する
Ctrl+1を押す- 「表示形式」の「ユーザー定義」を選ぶ
- 種類へ
0"年度"と入力する
「FY2025」と表示する場合は、ユーザー定義へ次の書式を設定します。
"FY"0
どちらもセルの中身は「2025」という数値のままなので、並べ替え、ピボットテーブル、グラフなどに使いやすくなります。
文字列として「2025年度」を作る
他の文章へ組み込むなど、文字列が必要な場合は次の式を使えます。
=IF(A2="","",YEAR(EDATE(A2,-3))&"年度")
「FY25」のように下2桁だけを表示する場合は、次の式です。
=IF(A2="","","FY"&TEXT(MOD(YEAR(EDATE(A2,-3)),100),"00"))
文字列に変換すると、年度を数値として集計しにくくなります。分析用の列は数値で保持し、表示用の列だけを文字列にする方法が安全です。

4月始まりの四半期を計算する
4月始まりの場合、四半期は次の区分になります。
| 四半期 | 対象月 |
|---|---|
| 1Q | 4月・5月・6月 |
| 2Q | 7月・8月・9月 |
| 3Q | 10月・11月・12月 |
| 4Q | 1月・2月・3月 |
四半期番号を1から4の数値で求める式は、次のとおりです。
=IF(A2="","",INT(MOD(MONTH(A2)-4,12)/3)+1)
結果のセルへユーザー定義の表示形式0"Q"を設定すれば、数値は1から4のまま、画面上では「1Q」「2Q」と表示できます。
開始月をB1セルで管理する場合は、次の式へ変更します。
=IF(A2="","",INT(MOD(MONTH(A2)-$B$1,12)/3)+1)
月ごとの割り当てを式の中で確認したい場合は、CHOOSE関数を使う方法もあります。
=IF(A2="","",CHOOSE(MONTH(A2),4,4,4,1,1,1,2,2,2,3,3,3))
MOD関数を使う式は開始月を変更しやすく、CHOOSE関数を使う式は各月の割り当てを目で確認しやすい点が特徴です。

年度を和暦で表示する
4月始まりの年度を「令和7年度」のように表示する場合は、年度の開始日を作り、その日付をTEXT関数で和暦へ変換します。
=IF(A2="","",TEXT(DATE(YEAR(EDATE(A2,-3)),4,1),"ggge年度"))
この式では、最初に年度の開始年を求め、同じ年の4月1日をDATE関数で作成しています。その日付へ和暦の表示形式を適用します。
開始月がB1セルに入力されている場合は、次の式へ変更できます。
=IF(A2="","",TEXT(DATE(YEAR(EDATE(A2,1-$B$1)),$B$1,1),"ggge年度"))
和暦表示は、ExcelやOSの地域設定によって表示が異なる場合があります。また、元号が切り替わった年度を旧元号・新元号のどちらで表すかは組織によって運用が異なるため、社内規程や提出先の表記ルールを確認してください。
和暦の結果は文字列になります。年度別集計に使う場合は、西暦年度の数値列を残し、和暦列は表示用として分けると管理しやすくなります。
ピボットテーブルで年度・四半期を集計する
ピボットテーブルで会計年度を集計する場合は、元データへ「年度」と「四半期番号」の列を追加しておく方法が分かりやすくなります。
| 追加する列 | 数式 | データ型 |
|---|---|---|
| 年度 | =IF(A2="","",YEAR(EDATE(A2,-3))) | 数値 |
| 四半期番号 | =IF(A2="","",INT(MOD(MONTH(A2)-4,12)/3)+1) | 数値 |
四半期番号にはユーザー定義の0"Q"を設定しておけば、ピボット上では「1Q」「2Q」と表示しながら、数値順に並べられます。
元データをExcelテーブルに変換しておくと、行を追加した際に数式の適用範囲を拡張しやすくなります。

年度や四半期を「2025年度」「1Q」の文字列だけで作ると、並べ替えや集計が意図どおりにならない場合があります。分析用の列は数値で保持し、見た目だけを表示形式で変更しましょう。
年度計算でエラーが出る原因と対処法
数式が正しく見えても、元の日付やセルの状態によってエラーになることがあります。
| 症状 | 主な原因 | 対処方法 |
|---|---|---|
#VALUE! | 日付が文字列として保存されている | 日付データへ変換する |
| 空白行にも値やエラーが出る | 空白判定を入れていない | IF関数で空白を除外する |
| 1月から3月が翌年度になる | YEAR関数だけを使用している | EDATEで開始月分を戻す |
| 年度順に並ばない | 「年度」を結合して文字列にした | 数値列と表示形式を使う |
| 和暦表示が想定と違う | 地域設定や元号の運用ルールが異なる | Excel環境と社内規程を確認する |
セルが日付として認識されているか確認する
Excelの日付は内部では数値として管理されます。次の式でTRUEが返れば、A2は数値として保存されています。
=ISNUMBER(A2)
FALSEになる場合は、見た目が「2025/04/01」でも文字列の可能性があります。
入力形式が統一されている場合は、「データ」タブの「区切り位置」などを使って日付へ変換できます。変換前にファイルを複製し、月と日の入れ替わりがないか確認してください。
空白を除外する
数式を下までコピーする場合は、次の空白処理付きの式を使用します。
=IF(A2="","",YEAR(EDATE(A2,-3)))
エラーをすべて空白にするIFERROR関数もありますが、入力ミスまで見えなくなる可能性があります。まずは空白だけをIF関数で除外し、文字列日付などのエラーは元データ側で修正しましょう。

年度計算は関数・Power Query・会計ソフトを使い分ける
1つの表で年度を追加するだけなら、今回紹介したExcel関数で十分です。
一方、毎月届く複数のCSVへ同じ年度列を追加し、結合・整形している場合は、Power Queryで変換手順を保存する方法も候補になります。
関数、Power Query、VBA、Pythonなどの違いは、Excel自動化の具体例と手段の使い分けで整理しています。
Excelの関数やピボットテーブルを画面操作から学びたい方は、UdemyのExcelおすすめ講座を目的別に比較した記事も参考にしてください。
元情シス・管理部門長としての判断
分析用の補助列や一時的な集計であれば、Excel関数は確認しやすく、修正もしやすい方法です。
ただし、仕訳、証憑、請求、承認、決算などを複数人で管理する業務は、年度列を計算できるだけでは運用全体を管理できません。
重要な経理業務をExcelへ集約している場合は、権限、履歴、承認、法改正対応まで含めて運用方法を検討してください。
経理業務全体を見直したい方は、中小企業向け経理自動化ソフトの選び方で、Excelを残せる業務とクラウド会計へ移行する業務を確認できます。
Excelの年度計算に関するよくある質問
4月始まりの年度を求める一番簡単な式は何ですか?
A2セルに日付がある場合は、次の式です。
=YEAR(EDATE(A2,-3))
空白セルへもコピーする場合は、=IF(A2="","",YEAR(EDATE(A2,-3)))を使用します。
10月始まりの年度はどう計算しますか?
10月と1月の差である9か月分を戻します。
=IF(A2="","",YEAR(EDATE(A2,-9)))
セルに「2025年度」と表示しても集計できますか?
数値の2025へユーザー定義の表示形式0"年度"を設定すれば、数値のまま集計できます。
数式で「年度」を結合すると文字列になるため、分析用の列では表示形式を使う方法がおすすめです。
4月始まりの第1四半期は何月ですか?
4月、5月、6月です。7月から9月が2Q、10月から12月が3Q、1月から3月が4Qになります。
EDATE関数で#VALUE!が出るのはなぜですか?
参照セルがExcelの日付ではなく、文字列として保存されている可能性があります。
=ISNUMBER(A2)で確認し、FALSEになる場合は元データを日付へ変換してください。
和暦年度は数値として集計できますか?
TEXT関数で作った和暦年度は文字列です。
集計用には西暦年度の数値列を残し、和暦年度は帳票や表示用の別列として作る方法が管理しやすくなります。
まとめ|年度は数値で計算し、見た目を表示形式で整える

4月始まりの年度を求める基本式は、次のとおりです。
=IF(A2="","",YEAR(EDATE(A2,-3)))
- 4月始まりは日付を3か月戻す
- 10月始まりは日付を9か月戻す
- 任意月の場合は開始月をセルで管理する
- 年度と四半期は数値で保持する
- 「年度」「Q」はユーザー定義で表示する
- 和暦は表示用の別列として作る
- 文字列の日付は計算前に変換する
計算に使う値と、画面に表示する文字を分けて設計することが、並べ替えやピボット集計で困らないためのポイントです。
年度計算以外にも毎月同じ集計・転記・ファイル結合を繰り返している場合は、関数だけでなくPower Query、VBA、Pythonなども比較しましょう。
\ 業務に合うExcel自動化を選ぶ /
