Excelで「1年後の日付」を求めたいだけなのに、なぜか結果がズレたり、思っていた日付にならなかったりした経験はありませんか。YEARに1を足せばいいのか、EDATEを使うべきなのか、意外と迷いやすいポイントですよね。
特に、契約更新日・有効期限・満了日など、間違えると実務に影響が出る日付計算では、「なんとなく合っていそう」で済ませるのは危険かもしれません。うるう年や月末が絡むと、なおさら混乱しがちでしょう。
この記事では、Excelで「1年後」を求める際の考え方を整理し、状況別に最も安全な方法を解説します。今日基準・指定日基準・月末基準など、実務で使える完成形の数式も紹介するので、そのままコピペして使えますよ。
Excelで「1年後」を求める前に知っておくべき基本
「1年後」とは何を指すのか
まず整理しておきたいのが、「1年後」という言葉の意味です。Excelでは、この定義を曖昧にしたまま数式を書くと、ズレやミスの原因になります。
実務で使われる「1年後」には、主に次の2つの考え方があります。
- 同じ月・同じ日付の1年後(例:2024/4/1 → 2025/4/1)
- 一定期間が経過した後(例:365日後)
この2つは、似ているようで意味が異なる点が重要です。契約更新日や有効期限では、前者の「暦上の1年後」を指すケースがほとんどですね。
「365日後」と「1年後」がズレる理由
「1年=365日」と思いがちですが、Excelの日付計算では必ずしも一致しません。理由は、うるう年の存在です。
たとえば、うるう年をまたぐ期間では、1年の長さは366日になります。そのため、単純に「+365」すると、次のようなズレが発生します。
- 同じ日付にならない
- 月が1か月ずれる
- 契約満了日が意図せず早まる
実務でいう「1年後」は、日数ではなく「暦」を基準に考えるのが基本です。
日付計算で初心者がやりがちな勘違い
Excelで1年後を求める際、初心者がよくやってしまうのが、次のような方法です。
- YEAR(A1)+1 だけを使う
- 日付に直接「+365」を足す
- 表示形式だけで正しいと判断する
これらは、一見正しそうに見えますが、条件次第で簡単にズレる方法です。特に、他人に渡すExcelや、長期管理のシートでは避けるべきでしょう。
次の章では、こうした失敗を避けるために、Excelで「1年後」を求める基本かつ安全な方法を具体的に解説します。
Excelで1年後の日付を求める基本的な方法
EDATE関数で1年後を求める方法
Excelで「1年後」を求める際、最も安全で実務向きなのがEDATE関数です。EDATEは「指定した日付から、指定した月数後の日付」を返します。
1年後は12か月後なので、基本形は次のとおりです。
=EDATE(A1,12)
A1に基準日が入っていれば、その日付からちょうど1年後の日付が返ります。うるう年や月の日数を意識する必要がなく、Excel側で自動的に調整される点が大きなメリットです。
「迷ったらEDATE」と覚えておくと、実務ではまず困りません。
DATE関数とYEAR関数を使う方法
考え方を理解したい場合や、処理を明示したい場合には、DATE関数とYEAR関数を組み合わせる方法もあります。
=DATE(YEAR(A1)+1,MONTH(A1),DAY(A1))
この式は、「年だけを1つ進めて、月と日はそのまま使う」という考え方です。暦上の1年後を表現しているため、概念的には分かりやすいですね。
ただし、2月29日を含む場合などは、エラーや日付調整が発生するため注意が必要です。その点では、EDATEのほうが安定しています。
単純に「+365日」してはいけない理由
日付に対して、次のように365日を足す方法は、実務ではおすすめできません。
=A1+365
この方法は「365日後」を求めているだけであり、暦上の1年後とは一致しない可能性があります。
- うるう年をまたぐと1日ズレる
- 契約満了日が意図せず前後する
- 年度管理や更新日管理に不向き
「1年後」と「365日後」は別物という意識を持つことが、日付計算ミスを防ぐ最大のポイントです。
うるう年・2月29日を含む場合の注意点
2月29日から1年後はどうなるのか
日付計算で最も混乱しやすいのが、2月29日(うるう日)を基準にした場合です。うるう年以外の年には2月29日が存在しないため、「同じ月・同じ日」の1年後が定義できません。
たとえば、A1に「2024/2/29」が入っている場合、暦上の1年後である「2025/2/29」は存在しません。このとき、Excelは自動的に日付を調整します。
EDATEが自動調整する仕組み
EDATE関数を使うと、存在しない日付に対しては、その月の最終日に丸める仕様になっています。
=EDATE(A1,12)
この式の場合、結果は「2025/2/28」となります。これはExcelの仕様であり、エラーではありません。
EDATEは「存在しない日付をエラーにせず、月末に自動調整する」という点が、実務で重宝される理由です。
契約・期限管理で注意すべきケース
契約満了日や有効期限を管理する場合、2月29日を含む契約は特に注意が必要です。
- 2/29開始の契約は、翌年2/28満了とするのか
- 3/1満了とみなすのか
この判断はExcelではなく、業務ルールとして先に決めておく必要があります。そのうえで、EDATEやEOMONTHを使って計算式を統一すると、後から見ても安全なシートになります。
月末基準で「1年後」を求めたい場合の考え方
月末日がズレる理由
「毎月月末締め」「月末更新」といった業務では、単純に1年後を求めるだけでは不十分なケースがあります。理由は、月ごとに日数が異なるためです。
たとえば、1月31日を基準に1年後を求めた場合、翌年の同月同日は存在しますが、2月や4月など31日が存在しない月が途中に挟まると、日付の扱いが問題になります。
このような業務では、「同じ日」ではなく、常に月末で揃えるという考え方が必要になります。
EOMONTH関数を使った安全な計算方法
月末基準で日付を管理したい場合に有効なのが、EOMONTH関数です。EOMONTHは、指定した日付の月末日を返します。
基準日A1の「1年後の月末」を求める場合は、次のように書けます。
=EOMONTH(A1,12)
この式を使えば、うるう年や月の日数を気にせず、常に正しい月末日が返ります。請求日・締日・更新日管理では、非常に安全な方法ですね。
請求日・締日・更新日の実務例
たとえば、「契約開始日から1年後の月末が更新日」というルールの場合、EDATEとEOMONTHを組み合わせる方法もあります。
=EOMONTH(EDATE(A1,12),0)
このように書いておくと、途中で基準日が変わっても、更新日が必ず月末に揃うため、後から見ても意図が分かりやすい式になります。
「同じ日」を守りたいのか、「月末」を守りたいのかを先に決めることが、日付計算ミスを防ぐ最大のポイントです。
実務でよくある「1年後」計算ミスと対処法
表示形式が原因で間違って見えるケース
Excelの日付計算で意外と多いのが、「計算は合っているのに、表示がおかしく見える」ケースです。これは、セルの表示形式が原因で起こります。
たとえば、日付が「44927」のような数値で表示されている場合、Excelは内部的には正しい日付として認識していますが、表示形式が「標準」や「数値」になっているため、人間には日付として見えません。
この場合は、セルの表示形式を「日付」に変更するだけで解決します。
「結果が変」だと感じたら、まず表示形式を疑うのが鉄則です。
文字列として扱われている日付の問題
もう一つ多いのが、見た目は日付なのに、実は文字列として入力されているケースです。この状態では、EDATEやDATEを使っても正しく計算できません。
外部データやCSVを取り込んだ直後によく起こりますね。
この場合は、DATEVALUE関数などを使って、日付として変換する必要があります。
=DATEVALUE(A1)
日付計算がうまくいかないときは、「数式」ではなくデータの型を疑うことも大切です。
他人に渡すExcelで気をつけるポイント
自分だけが使うExcelでは問題なくても、他人に渡すとミスが起きることがあります。その原因の多くは、数式の意図が分かりにくいことです。
- なぜEDATEを使っているのか
- 月末基準なのか、同日基準なのか
- うるう年をどう扱う前提なのか
これらが分かるように、コメントを残したり、式をシンプルにしたりする工夫が重要です。
「正しく動く」だけでなく、「意図が伝わる」数式を書くことが、実務では非常に重要になります。
Excelで1年後を正しく管理するための考え方
用途別に関数を使い分ける思考法
「1年後」を正しく扱うために最も大切なのは、どの業務で使う日付なのかを先に決めることです。関数の正解は1つではなく、用途によって変わります。
- 契約更新日・有効期限 → EDATE(暦上の1年後)
- 月末締め・請求管理 → EOMONTH(月末基準)
- 考え方を明示したい → DATE+YEAR(可読性重視)
- 単なる経過日数 → +365(※1年後とは別物)
このように、「どの関数が正しいか」ではなく、「この業務では何を守るべきか」を基準に考えると、関数選びで迷いにくくなります。
安全な数式を書くためのチェックリスト
実務で事故を防ぐためには、数式を書く際に次のポイントを確認しておくと安心です。
- 「1年後」の定義(同日/月末/経過日数)は明確か
- うるう年を含む場合の扱いは問題ないか
- 表示形式ではなく、実際の値として正しいか
- 他人が見ても、式の意図が分かるか
特に、契約や期限管理では「たまたま合っている」状態は危険です。必ず、再現性があり、誰が使っても同じ結果になる式を意識しましょう。
Excelの日付計算は「正しい式」よりも「安全な考え方」を持っているかどうかで差が出ます。この視点を押さえておけば、「1年後」の計算で悩むことはほとんどなくなります。
Excelで「1年後」に関するよくある質問(FAQ)
EDATEとDATEはどちらを使うべき?
結論としては、実務で迷ったらEDATEを使うのが無難です。EDATEは「月単位」で日付を進める関数のため、うるう年や月の日数を自動的に調整してくれます。
一方、DATE+YEARは「年を1つ進める」という考え方を明示できるため、式の意味を分かりやすくしたい場合には向いています。ただし、2月29日を含む場合は注意が必要ですね。
1年後が月末になるのは正しい?
これは「正しい・間違い」ではなく、業務ルール次第です。EDATEやEOMONTHを使うと、存在しない日付は月末に調整されます。
たとえば、2月29日を基準にした場合、翌年2月は28日までしかないため、月末になるのはExcelの仕様として正しい挙動です。
重要なのは、「月末になることを許容する業務かどうか」を先に決めておくことです。
契約満了日はどの方法が安全?
契約満了日や更新日は、暦上の1年後を基準にするケースが多いため、EDATEを使う方法が最も安全です。
さらに、月末基準の契約であれば、EOMONTHと組み合わせることで、後から見ても意図が分かりやすい式になります。
契約・期限管理では「たまたま合っている」計算を使わないことが、トラブル防止の最大のポイントです。




