SkillStack Lab 運営者の「スタック」です。
会社での事務処理やデータ集計をしていると、4月1日から翌年3月31日までを一つの区切りとする会計年度の扱いに頭を悩ませることがありますよね。
エクセルの日付は基本的に1月1日で年が変わるため、そのままでは会社で使う年度と3ヶ月のズレが生じてしまいます。私も以前は手作業で修正していてミスが絶えませんでした。
そこで今回は、そんなエクセル関数の年度計算に関する悩みを解決し、日々の業務を効率化する方法について解説します。
特に、計算式を組んで自動で年度を算出する方法や、西暦と和暦の変換テクニック、さらには四半期の集計や表示形式の整え方、外資系企業などで見られる4月始まりや10月始まりといった決算期の違いへの対応策まで網羅しています。
- 4月始まりの年度を自動算出するEDATE関数の使い方
- IF関数や論理演算を使った計算ロジックの違いと選び方
- 西暦から和暦への変換や四半期判定のテクニック
- ピボットテーブルでの集計やエラー回避の実践的ノウハウ
エクセル関数で年度を自動計算する基本テクニック
まずは、エクセルを使って正確な「年度」を導き出すための基本的な考え方と、それを実現する具体的な関数について見ていきましょう。
日本のビジネスシーンでは4月始まりが一般的ですが、エクセルの標準機能であるYEAR関数をそのまま使うと1月から3月のデータが「新しい年」として扱われてしまい、会計年度とズレてしまいます。
このセクションでは、そのズレを解消し、誰でも簡単に年度を自動計算できる方法をいくつか紹介します。
4月始まりの年度を算出する計算式
日本の多くの企業や官公庁では、4月1日から翌年の3月31日までを1つの「年度(Fiscal Year)」として扱います。
しかし、エクセルが持っているカレンダーの概念(グレゴリオ暦)は1月1日から始まります。
ここに、私たちがエクセルで集計を行う際の最大の落とし穴があります。
単純に日付データからYEAR関数で年を抽出してしまうと、以下のような不整合が起きます。
- 2025年4月1日: カレンダーは2025年、会計年度も2025年度(一致)
- 2026年3月31日: カレンダーは2026年、会計年度は2025年度(不一致)
つまり、1月、2月、3月の日付データについては、カレンダー上の年から「マイナス1」したものを年度としなければならないというルールが存在するのです。
手作業で修正するのはミスの元ですし、データ量が多ければ現実的ではありません。
この「3ヶ月のズレ」を関数で自動的に吸収させることが、正確なデータ処理の第一歩となります。

EDATE関数で年度計算を自動化
実務において私が最も推奨しているのが、EDATE関数を使った「時間軸シフト法」です。これは非常にシンプルかつ、計算負荷も軽いスマートな方法です。
考え方はこうです。「年度の始まりである4月」と「カレンダーの始まりである1月」の間には、3ヶ月のズレがあります。
そこで、判定したい日付をあえて3ヶ月前にタイムスリップさせてから年を取得すれば、条件分岐などを一切使わずに正しい年度が導き出されるのです。

おすすめの数式(A1セルに日付がある場合)
=YEAR(EDATE(A1, -3))
この数式の挙動を詳しく解説します。
| 元の日付 | EDATE(A1, -3)の結果 | YEAR関数の結果 | 判定 |
|---|---|---|---|
| 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 | 正解 |
ご覧の通り、すべてのパターンで正しい年度が返されています。EDATE関数は、指定した月数だけ前後の日付(シリアル値)を返す関数です。
この場合、「-3」と指定することで日付を3ヶ月戻しています。
これにより、問題となる1月〜3月が前年の10月〜12月に変換され、YEAR関数で取り出した際に自然と「前年の年」になるわけです。
EDATE関数の詳細な仕様については、Microsoftの公式ドキュメントも参照してください。 (出典:Microsoft サポート『EDATE 関数』)
IF関数を使った条件分岐の数式
EDATE関数を知る前は、私もよくIF関数を使っていました。
これは「もし月が1〜3月なら年を1引く、そうでなければそのままの年を使う」という、人間が頭で考えているロジックをそのまま数式にするアプローチです。
=IF(MONTH(A1)<=3, YEAR(A1)-1, YEAR(A1))
あるいは、「月が4月以上ならそのまま」という書き方もできます。
=IF(MONTH(A1)>=4, YEAR(A1), YEAR(A1)-1)
この方法のメリットとデメリット
- メリット:数式を見ただけで「何をしているか」が誰にでも理解しやすい。エクセルに詳しくない人に引き継ぐ場合は、こちらの方が親切かもしれません。
- デメリット:数式が長くなり、入力ミスが起きやすい。また、ピボットテーブルの集計フィールドなどで使うと処理が重くなる可能性があります。
どちらを使っても結果は同じですが、個人的にはシンプルで汎用性の高いEDATE関数をおすすめします。
10月始まりや変則決算への対応
外資系企業や、決算期変更を行った企業では、必ずしも4月始まりとは限りません。
「10月始まり(翌年9月決算)」や「1月始まり(12月決算)」など、様々なパターンが存在します。そんな時こそ、先ほど紹介したEDATE関数の真価が発揮されます。
EDATE関数の第2引数(月数)は、実は「開始月と1月の差」を表しています。これを一般化すると、以下の公式が成り立ちます。
年度計算の万能公式
=YEAR(EDATE(日付, -(開始月-1)))
この公式を使えば、開始月が変わっても引数を変更するだけで即座に対応可能です。
| 決算タイプ | 開始月 | シフトする月数 | 数式 |
|---|---|---|---|
| 日本標準 | 4月 | -(4-1) = -3 | =YEAR(EDATE(A1, -3)) |
| 米国基準など | 10月 | -(10-1) = -9 | =YEAR(EDATE(A1, -9)) |
| 変則決算 | 7月 | -(7-1) = -6 | =YEAR(EDATE(A1, -6)) |
このように、ロジックさえ理解してしまえば、どんな変則的な決算期が来ても、複雑なIF関数を組むことなくスマートに対応できるのです。
表示形式で年度の見た目を整える
関数で計算した結果は「2025」のようなただの数値になります。しかし、資料として提出する際は「2025年度」や「FY2025」のように見やすく整形したいですよね。
ここでよくある間違いが、=YEAR(...) & "年度" のように文字列として結合してしまうことです。
数値を文字列にしてしまうと、数値としての特性が失われ、その後の集計やグラフ作成でうまく扱えなくなる(並び替えがおかしくなる等)原因になります。
私は、データの実体は数値のままにしておき、セルの書式設定(表示形式)で見た目だけを変えることを強くおすすめします。
プロが使う書式設定の手順
- 設定したいセル範囲を選択して
Ctrl + 1を押します。 - 「表示形式」タブの「ユーザー定義」を選択します。
- 「種類」の欄に、以下のコードを入力します。
おすすめの書式コード例
- 2025年度 と表示したい場合:
0"年度" - FY2025 と表示したい場合:
"FY"0 - FY25 (下2桁)と表示したい場合:
"FY"yy※ただしこれは日付シリアル値の場合のみ有効
こうしておけば、見た目は「2025年度」でも、中身は「2025」という数値のままなので、足し算や並び替えも自由自在です。
データの実体を汚さずに見た目を変える、これがエクセル上級者の鉄則です。

💡 複雑な関数の組み合わせを、テキストと画像だけで理解するのに限界を感じていませんか?
ブログのテキストや分厚い専門書でVBAのコードを解読するのは、実は非常にハードルが高く、9割の人が途中で挫折してしまいます。
確実に実務で使えるスキルを身につけるなら、文字を追うのではなく「プロの画面の動きを動画でそのまま真似する」のが一番の近道です。
元社内SEの視点で、小難しい理論は抜きにして、明日からの面倒な手作業を劇的にラクにする「超・実践的なUdemy神講座」だけを厳選しました。
※Udemyは頻繁に90%OFFセール(1,500円前後)を行っています。絶対に定価では買わず、まずはセールが開催されていないかチェックして、賢く自己投資を始めてみてください!
\ 動画を見てマネするだけで自動化 /
エクセル関数で年度と和暦を完全攻略
ここからは応用編です。
日本の実務では欠かせない「和暦(令和)」への対応や、実は年度計算以上に厄介な「四半期」の判定、そして集計の要であるピボットテーブルでの活用法など、より実践的なテクニックを深掘りしていきます。
これを知っているだけで、業務のスピードと正確性が格段に上がりますよ。
四半期をズレなく判定する関数
「第1四半期(1Q)の売上を出して」と言われた時、単純に1月〜3月を集計していませんか?
4月始まりの企業では、以下のような「回転」が必要になります。
- 第1四半期(1Q): 4月, 5月, 6月
- 第2四半期(2Q): 7月, 8月, 9月
- 第3四半期(3Q): 10月, 11月, 12月
- 第4四半期(4Q): 1月, 2月, 3月
これをIF関数で書くと非常に長くなりますし、ROUNDUP関数などで計算しようとすると頭がこんがらがります。
私が一番推しているのはCHOOSE関数を使ったマッピング手法です。
これは「1月から12月までの各月が、それぞれ第何四半期になるか」を直接指定する方法です。
4月始まり用の最強数式
=CHOOSE(MONTH(A1), 4, 4, 4, 1, 1, 1, 2, 2, 2, 3, 3, 3)
この数式の仕組みはとても単純かつ強力です。
MONTH(A1)の結果(1〜12)をインデックス(目次番号)として使います。- 1月ならリストの1番目の値「4」を返します(第4四半期)。
- 4月ならリストの4番目の値「1」を返します(第1四半期)。
これなら「第1四半期って何月だっけ?」と迷うこともなく、引数の順番を変えるだけで10月始まりなどにも柔軟に対応できます。
見た目にも「1月は4Q、2月は4Q…」と並んでいるので、後から見返した時のわかりやすさが段違いです。

西暦と和暦をスムーズに変換する
公的な書類や社内文書では、「2025年度」ではなく「令和7年度」といった和暦表記が求められることも多いですね。
西暦から和暦への変換にはTEXT関数を使いますが、ここでも「年度のズレ」を考慮するのを忘れてはいけません。
よくある失敗例として、単純に =TEXT(A1, "ggge年度") と入力してしまうケースがあります。
これだと、2025年1月〜3月の日付は、カレンダー通り「令和7年度」と表示されてしまいます。しかし、会計年度上はまだ「令和6年度」であるべきです。
ここでも、あのEDATE関数との組み合わせが活躍します。
正しい和暦年度の数式
=TEXT(EDATE(A1, -3), “ggge年度”)
一度日付を3ヶ月前に戻してから和暦に変換することで、1月〜3月も正しく前年の元号・年数で表示されるようになります。
「和暦変換するときも3ヶ月戻す」、これは鉄板のルールとして覚えておいてください。
令和の表示に対応するTEXT関数
「令和」への改元以降、システムやエクセルファイルの更新で苦労された方も多いと思います。
特に「令和1年」ではなく「令和元年」と表示したいという要望は根強いですよね。
残念ながら、エクセルの標準機能(TEXT関数や表示形式)では、自動的に「元年」とは表示されず、「令和1年」となってしまいます。「元年」と表示させるには、条件付き書式を使って強制的に書き換えるのが最もスマートです。
「令和元年」を表示する条件付き書式の設定手順
- 日付が入力されているセル範囲を選択します。
- 「ホーム」タブから「条件付き書式」→「新しいルール」を選択します。
- 「数式を使用して、書式設定するセルを決定」を選び、以下の数式を入力します。
=TEXT(A1,"ggge")="令和1" - 「書式」ボタンを押し、「表示形式」タブの「ユーザー定義」で以下を入力します。
"令和元年"m"月"d"日"
この設定をしておけば、データが「令和1年」に該当する場合だけ、自動的に「令和元年」という表示に切り替わります。手入力で修正する必要はもうありません。
ピボットテーブルでの集計順序
大量のデータを分析する際、ピボットテーブルは非常に強力ですが、日付フィールドをグループ化すると勝手に「1月始まり」で集計されてしまうのが悩みどころです。
「年」や「四半期」でグループ化しても、1月が先頭に来てしまいます。
これを無理やり並べ替えたり、グループ化の設定で悩んだりするのは時間の無駄です。
これを解決するベストプラクティスは、ピボットテーブルを作る前の元データに「年度」や「四半期」の列を作っておくことです。
先ほど紹介したEDATE関数やCHOOSE関数を使って、元データの表に以下のような列を追加します。
- FY列:
=YEAR(EDATE(日付, -3)) - Quarter列:
=CHOOSE(MONTH(日付), "4Q", "4Q", "4Q", "1Q", "1Q", "1Q", "2Q", "2Q", "2Q", "3Q", "3Q", "3Q")
この追加した列を使ってピボットテーブルを作成すれば、4月始まりの年度集計も、第1四半期からの並び順も、すべて思い通りにコントロールできます。
「急がば回れ」ですが、元データをしっかり作り込むことが、集計作業を楽にする近道です。

エラーが出る原因と対処法
関数を入れたのに #VALUE! というエラーが出たり、空白のセルが「1900年度」と表示されたりしたことはありませんか?
ここではよくあるトラブルとその解決策をまとめます。
よくあるエラーと解決策
- #VALUE!エラーが出る: 原因:日付だと思っていたデータが、実は「文字列」になっている場合に起こります。「2025.4.1」のようにドットで区切られているデータなどは、エクセルが日付として認識できないことがあります。 対策:「データ」タブの「区切り位置」機能を使うか、
DATEVALUE関数で日付シリアル値に変換しましょう。 - 「1900年度」と表示される: 原因:数式を空欄のセルまでコピーすると、エクセルは空白セルを「0」とみなし、1900年1月0日として計算してしまいます。 対策:以下のように「もし空白なら空白にする」という処理を追加します。
空白処理を追加した完成版の数式:
=IF(A1=””, “”, YEAR(EDATE(A1, -3)))
この数式を使えば、データが入っていない行はきれいに空白になり、見栄えの良い表が完成します。

💡 「エクセルでの業務効率化」に限界を感じていませんか?
関数による日付や年度の自動計算は非常に便利ですが、毎年のフォーマット更新や、法改正に伴うルールの変更をすべてエクセルの手作業(自作関数)で対応し続けるのは、実はかなりの時間と労力(コスト)がかかります。
「関数やマクロのエラーに怯える日々から抜け出したい」
「誰かが休むと業務が回らない『エクセル属人化』を根本から解消したい」
そう感じたことのある総務・経理・バックオフィス担当者に向けて、元社内SE・現役管理職の視点で「日々の定型業務を劇的に楽にする脱エクセル(SaaS)ツール」を厳選しました。
いきなり会社で稟議を通す必要はありません。時間を無駄にせず業務を効率化したい方は、まずはノーリスクの無料登録や資料請求を活用して、専用ツールの圧倒的な「ラクさ」をご自身の目で確かめてみてください。
\ エクセルの手作業を今日でやめるなら /
エクセル関数による年度管理の効率化
今回は、エクセル関数を使って「年度」を自在に操る方法について解説してきました。
EDATE関数による自動計算、CHOOSE関数による四半期判定、そして和暦への対応など、これらのテクニックを組み合わせることで、手作業による修正ミスはほぼゼロにできます。
「たかが日付の計算」と思うかもしれませんが、ここを自動化できると、その後の集計や分析のスピードが劇的に変わります。
決算期などの忙しい時期にこそ、こうした基本的な関数の積み重ねが大きな時間の節約につながります。

ぜひ、皆さんの日々の業務ファイルに取り入れて、サクサク仕事を片付けていきましょう!
