【和暦計算も対応】誰も教えてくれないエクセルでの年齢計算を徹底的に解説!考える時間を関数に丸投げしよう

エクセル

昭和や平成の生年月日も混ざってて、年齢を計算するのが大変…

うるう年や基準日を考えるたびに、もう頭がパンクしそう…

あなたも、こんなふうにエクセルでの年齢計算に時間を取られていませんか?

放置すると二度手間やミスも増えがちなこの問題。

実は、DATEDIFや和暦変換を押さえれば、スムーズに解決できるんです。初心者でも扱いやすい設定や式を導入すれば、複数人の年齢を一括で正確に管理できますよ!

次のポイントを押さえて、悩みを減らしましょう!

  • 生年月日から年齢を自動算出する実用的な数式
  • 昭和・平成・令和の混在データに合わせた工夫
  • 基準日やうるう年のトラブル回避策

さあ、面倒な年齢計算から解放されて、余裕ある業務スタイルを目指してみませんか?

【この記事限定!】

最後まで読むだけで

他では手に入らない
お役立ちツール

無料でプレゼント!

こちらもおススメ!
  1. 関数の活用で作業がはかどる!エクセルでの年齢計算の基本概念
    1. 「日付ってどう扱うの?」基本の考え方
    2. 「どんな関数を使えばいい?」年齢計算に便利な選択
    3. 「どんな計算方法があるの?」年齢を算出するときの土台
  2. 仕組みを理解しよう!西暦での生年月日から年齢を自動計算する方法
    1. 「今日の日付を反映したい!」TODAY関数の組み合わせ方
    2. 「指定した期間をすぐ出したい!」DATEDIF関数の使い方
    3. 「進学や年金で使いたい!」用途に応じた年齢算出
    4. 「小数点まで正確に計算したい?」YEARFRAC関数での対策
    5. 「たくさんのデータを一括処理したい!」手間を減らすコツ
  3. 揃えれば理解しやすい!和暦(昭和・平成・令和)と西暦を変換するテクニック
    1. 「昭和や平成のままだとわかりづらいな…」和暦と西暦を変換するには?
    2. 「なんか難しそう…」和暦を使って年齢計算する方法
  4. さらに詳しく表示できる!年月単位(何歳何ヶ月)での細かい年齢表示方法
    1. 「何歳何ヶ月か、まで知りたい!」年月を組み込むアイデア
    2. 「さらに細かく表示したい!」日数も含めた計算のやり方
    3. 「赤ちゃんの成長を把握したい!」月齢や週齢で見る手段
  5. 知ってると役立つ!年齢計算のまめ知識
    1. 「閏年や古い日付は?」イレギュラーに対する調整
  6. まとめ

関数の活用で作業がはかどる!エクセルでの年齢計算の基本概念

関数の活用で作業がはかどる!エクセルでの年齢計算の基本概念

「日付ってどう扱うの?」基本の考え方

シリアル値の仕組み

エクセルでは日付や時間を「シリアル値」という数値で管理しています。

「シリアル値」という数値

Windows版の既定設定だと「1900年1月1日」がシリアル値1にあたり、そこから1日進むごとに1ずつ加算される仕組みですね。

Mac版では1904年始まりのシリアル値システムが使われることもあるため、注意しましょう。

年齢計算の注意点

年齢計算は「(現在の日付-生年月日)÷365.25」で大まかに求められますが、うるう年や誕生日の前後といった細かい部分を調整しないと誤差が生じやすいものです。

エクセルが日付を数値(シリアル値)として処理している点を意識することが大事ですが、単なる日数差だけでなく誕生日前後の境界にも注意すると正確さを保ちやすくなりますよ!

たとえば、誕生日の前日に年齢を計算した場合、単なる日数計算では次の誕生日を迎えた後の年齢が出てしまう可能性がある、ということですね。

表示と内部値

日付の書式はセルの書式設定で自由に変えられても、内部的には常にシリアル値です。

そのため、表示形式を変更しても計算式の結果に影響はありません。

表示形式を変更しても計算式の結果に影響はありません

表示と計算の仕組みを分けて考えることが大切ですね。

「どんな関数を使えばいい?」年齢計算に便利な選択

  • TODAY関数

    今日の日付を自動的に返す関数です。

    リアルタイムで更新されるので、常に最新の日付を使った年齢計算ができます。

  • DATE関数

    指定した「年」「月」「日」から日付を作成できる関数です。

    基準日を指定するときなどに使いやすいですね。

  • DATEDIF関数

    2つの日付の差を「年」「月」「日」などの単位で求められる関数です。

    関数ウィザードやヘルプには表示されない“隠し機能”扱いのため、使用時には直接入力する必要があります。

  • YEAR/MONTH/DAY関数

    日付から年・月・日をそれぞれ数値として取り出します。

    誕生日前後の計算ロジックを自作するときに便利です。

  • INT/ROUNDDOWN関数

    小数を切り捨てるときに使います。

    年齢を整数として扱う際に役立ちます。

  • YEARFRAC関数

    2つの日付の間の年数を小数で返す関数です。

    厳密な計算が必要な場合に適しています。

「どんな計算方法があるの?」年齢を算出するときの土台

満年齢

いわゆる誕生日を迎えたタイミングで1つ年をとる一般的な計算方法です。ほとんどの場合はこの考え方で十分でしょう。

学齢・事務年齢

年度や特定の基準日を区切りに年齢を計算する方法です。学校での進級や役所手続きなどで使われます。

考慮すべき要素

うるう年や月末日が含まれるかどうか、誕生日が来る前か後かといった点を誤ると、年齢が1年ずれてしまうことがあります。

社内の事務や公式文書で扱うときは、特に注意したいですね。

仕組みを理解しよう!西暦での生年月日から年齢を自動計算する方法

仕組みを理解しよう!西暦での生年月日から年齢を自動計算する方法

この記事紹介する関数の多くにTODAY関数を使用しています。記事作成が2025/3/19なので、ご承知おきください!

「今日の日付を反映したい!」TODAY関数の組み合わせ方

基本の数式

生年月日がA1セルにある場合、現在の満年齢を求める代表的な式は以下になります。

SQL
=DATEDIF(A1,TODAY(),"Y")
満年齢を求める代表的な式

誕生日の前後を含めて処理してくれるので、シンプルに正確な年齢を得られるのがメリットですね。

シンプルな代替式

SQL
=INT((TODAY()-A1)/365.25)
シンプルな代替式

おおまかな年齢を出すには手軽ですが、誕生日の前後で年齢が合わなくなる場合があります。

YEAR関数を使った方法

SQL
=YEAR(TODAY())-YEAR(A1)-IF(OR(MONTH(TODAY())<MONTH(A1), AND(MONTH(TODAY())=MONTH(A1), DAY(TODAY())<DAY(A1))), 1, 0)
YEAR関数を使った方法

「誕生日を迎えていない場合は 1 を引く」という仕組みを組み込んだ式です。

DATEDIF関数と比べるとやや長いですが、ロジックが明確であるため、調整や理解がしやすいのが特徴ですね。

この式では、「現在の月が誕生月より前」または「同じ月でも誕生日がまだ来ていない場合」に 1 を引くことで、正確な年齢を算出できます。

「指定した期間をすぐ出したい!」DATEDIF関数の使い方

構文は以下。

SQL
=DATEDIF(開始日,終了日,単位)

単位の種類

“Y”: 年数
“M”: 月数
“D”: 日数
“YM”: 年を無視して月だけ
“YD”: 年を無視して日だけ
“MD”: 年と月を無視して日だけ

注意点としては、DATEDIF関数は関数ウィザードに表示されないため、手入力する必要があります。

月末付近での計算で1日ずれるケースがあるため、”MD” や “YM” を使うときは結果をしっかり確認してくださいね!

「進学や年金で使いたい!」用途に応じた年齢算出

学年・就学年齢の計算(4月1日または4月2日を基準日とする)

SQL
=DATEDIF(A1,DATE(YEAR(TODAY()),4,1),"Y")

この数式は、小学校や中学校への入学・卒業年齢を計算する際に便利です。

例えば、2010年5月15日生まれの子供が今年の4月1日時点で何歳かを簡単に算出できます。

学年・就学年齢の計算

保険加入・保険年齢の計算

SQL
=DATEDIF(A1,TODAY(),"Y")+IF(DATE(YEAR(TODAY()),MONTH(A1),DAY(A1))<=TODAY(),0,-1)

この数式は保険加入時の実際の保険年齢を計算したいときに役立ちます。

例えば、1985年8月20日生まれの人が本日加入した場合、保険年齢が何歳になるかを正確に計算できます。

保険加入・保険年齢の計算

未来予測の年齢計算(特定の日付での年齢予測)

SQL
=DATEDIF(A2,DATE(C2,D2,E2),"Y")

この数式を使うと、将来的なイベント(定年退職、成人式、特定の資格試験など)に向けての年齢予測が簡単にできます。

例えば、2000年2月1日生まれの人が2050年の1月1日時点での年齢を計算し、将来のライフプランに役立てることができます。

未来予測の年齢計算(特定の日付での年齢予測)

「小数点まで正確に計算したい?」YEARFRAC関数での対策

構文は以下。

SQL
=YEARFRAC(開始日,終了日,[基準])

この関数を使用すると、2つの日付の間の年数を小数で返すため、より厳密に年齢を把握できます。金融関係や精密な期間計算が必要なときに便利ですよ!

[基準]には 0~4 の値で計算方式を指定し、省略すると「米国(NASD)方式 30日/360日」が用いられます。

0~4 の値で計算方式を指定

使用例

SQL
=INT(YEARFRAC(A1,TODAY()))
小数点以下を切り捨てた満年齢を返す例

小数点以下を切り捨てた満年齢を返す例です。満年齢計算で厳密な日数を取り込みたい場合に使われます。

「たくさんのデータを一括処理したい!」手間を減らすコツ

数式コピー

フィルハンドルをドラッグすると、同じ数式を複数のセルに一気にコピーできます。

数式コピー

参照設定

相対参照と絶対参照($)を使い分けると、意図しないセル参照のズレを防ぎながら効率的に処理できます。

参照設定

テーブル機能

データ範囲を「テーブル」に変換しておくと、新しい行を追加しても数式が自動的にコピーされるので便利ですよ。大量の名簿管理などでは特に重宝します!

揃えれば理解しやすい!和暦(昭和・平成・令和)と西暦を変換するテクニック

揃えれば理解しやすい!和暦(昭和・平成・令和)と西暦を変換するテクニック

「昭和や平成のままだとわかりづらいな…」和暦と西暦を変換するには?

元号と西暦の対応

【昭和(S)】
和暦 + 1925 = 西暦
例:昭和60年の場合、「60 + 1925 = 1985年」

【平成(H)】
和暦 + 1988 = 西暦
例:平成3年の場合、「3 + 1988 = 1991年」

【令和(R)】
和暦 + 2018 = 西暦
例:令和7年の場合、「7 + 2018 = 2025年」

和暦西暦の変換」を関数で行う場合、TEXT関数を使うのが楽ですよ!

和暦から西暦への変換

SQL
=TEXT(A1,"yyyy/m/d")
和暦から西暦への変換

西暦から和暦への変換

SQL
=TEXT(A1,"ggge年m月d日")
西暦から和暦への変換

見た目を整えることで、理解しやすくなります!

「なんか難しそう…」和暦を使って年齢計算する方法

結論から言うと、西暦だろうが和暦だろうが同じように年齢計算ができます。

和暦を使って年齢計算

画像では平成10年(1998年)1月1日から「=TODAY」(2025年3月19日)までの期間をDATEDIFで計算し、年としてセルに表示。

SQL
=DATEDIF(A1,TODAY(),"Y")

結果が同じになる理由は、最初に説明した「シリアル値」ですね。

エクセルが日付と認識できる形で入力されている限り、その日付はシステム内部でシリアル値として管理されます。

ゆうま
ゆうま

人間が見やすいように西暦や和暦表示にしているだけで、システム内部での扱いが一緒だから同じ結果になるということです!

さらに詳しく表示できる!年月単位(何歳何ヶ月)での細かい年齢表示方法

さらに詳しく表示できる!年月単位(何歳何ヶ月)での細かい年齢表示方法

「何歳何ヶ月か、まで知りたい!」年月を組み込むアイデア

基本形式

SQL
=DATEDIF(A1,TODAY(),"Y")&"歳"&DATEDIF(A1,TODAY(),"YM")&"ヶ月"
基本形式

シンプルですが、読みやすさ重視なら十分ですね。

TEXT関数による整形

SQL
=TEXT(DATEDIF(A1,TODAY(),"Y"),"0")&"歳"&TEXT(DATEDIF(A1,TODAY(),"YM"),"0")&"ヶ月"
TEXT関数による整形

桁を揃えたいときや、表示を調整したい場合に有効です。

「さらに細かく表示したい!」日数も含めた計算のやり方

SQL
=DATEDIF(A1,TODAY(),"Y")&"歳"&DATEDIF(A1,TODAY(),"YM")&"ヶ月"&DATEDIF(A1,TODAY(),"MD")&"日"
日数も含めた計算のやり方

“何歳何ヶ月何日”までを一度に表示できるため、正確に日数を把握する必要がある場合に便利です。

「赤ちゃんの成長を把握したい!」月齢や週齢で見る手段

月齢

SQL
=DATEDIF(A1,TODAY(),"m")
月齢

週齢

SQL
=INT((TODAY()-A1)/7)
週齢

日齢

SQL
=TODAY()-A1
日齢

自動切り替え

SQL
=IF(DATEDIF(A1,TODAY(),"Y")=0,DATEDIF(A1,TODAY(),"m")&"ヶ月",DATEDIF(A1,TODAY(),"Y")&"歳")
自動切り替え

この数式では、1歳になるまでの間だけ月齢を表示し、1歳以降は年齢を表示するなど柔軟な管理が可能です。

知ってると役立つ!年齢計算のまめ知識

知ってると役立つ!年齢計算のまめ知識

「閏年や古い日付は?」イレギュラーに対する調整

閏年(2月29日生まれ)

エクセル上は自動処理されることが多いですが、必要に応じて2月28日や3月1日扱いに切り替えるなど、業務ルールによってはIF関数で個別に対応してください。

古い日付

明治や大正など、1900年より前の日付になると、エクセルのうるう年計算などが実際とは異なる場合があります。表示できないシリアル値もあるのでご注意ください。

1900年問題

エクセルは1900年をうるう年とみなしてしまう非公式な仕様があります。多くのケースでは大きな影響はありませんが、厳密性を求める業務ではこの点も念頭に置くと安心ですね。

上記の内容を押さえていただくと、エクセルで生年月日から年齢を自動で計算し、昭和・平成・令和を含む和暦でも正しく管理しやすくなるはずです!

まとめ

まとめ

エクセルで生年月日から年齢を自動計算できるようになると、和暦やうるう年を含めた複雑な条件でも正確に管理でき、煩わしい手作業から一気に解放されます。

作業効率が上がるだけでなく、データの信頼性も高まり、いつでも最新の年齢を簡単に把握できるのが有難いですよ!

  • DATEDIFやTODAY関数を使った満年齢のシンプル算出
  • 昭和・平成・令和を西暦に変換し、混在データをまとめて管理
  • 「何歳何ヶ月」まで表示する式の組み立て方

この記事の内容を実践すれば、大量の名簿でもセルをコピーするだけで一括計算が可能になりますし、誕生日を迎えてからの加齢処理や和暦変換も自動化できるため、作業時間の短縮と集中力の温存につながるはずです。

そうなれば、仕事だけでなく家族や自分の時間も大切にでき、毎日の充実感がぐんと高まるでしょう!

ぜひ紹介した方法を実際に試して、エクセル作業の手間とストレスをぐっと減らしてください!

ゆうま
ゆうま

最後までお読みいただき、ありがとうございました!

著者プロフィール
この記事を書いた人

【2024年10月ブログ開設】
見に来てくれてありがとうございます!
 
【発信内容】
本業で管理職をやる傍ら、趣味として会社に頼らずに生きるためのスキル磨きをしてきた経験を「お役立ち情報」として発信。
 
【将来の夢】
家族と田舎で半自給自足しながらパソコンで生活費を稼いでのんびり生きること。

ゆうまをフォローする
エクセル時短知識
シェアする
ゆうまをフォローする
タイトルとURLをコピーしました