Excelで1年後の日付を正しく求める方法|EDATE・うるう年・月末対応まで解説

  • このエントリーをはてなブックマークに追加
excel 1年後

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と組み合わせることで、後から見ても意図が分かりやすい式になります。

契約・期限管理では「たまたま合っている」計算を使わないことが、トラブル防止の最大のポイントです。

       

SNSでもご購読できます。

     

コメントを残す


CAPTCHA