年齢の数え方は3種類

種類内容主な使われ方
満年齢誕生日で1歳増える法律・契約・履歴書(標準)
数え年生まれた年を1歳とし、元日で1歳増える厄年・神社の風習
学年(年度)4月2日〜翌4月1日生まれが同学年学校・部活

満年齢の正式な計算式

「年齢計算ニ関スル法律」(1902年制定)により、誕生日の前日の終了時点で1歳増えると定められています。

例: 4月1日生まれ → 3月31日に「満○歳」になる → 4月1日生まれが早生まれとして一学年上に入るのはこのため。

満年齢の計算

基本式

満年齢 = 今年 - 生まれ年 - (誕生日が今日以降なら1)

例: 1990年5月15日生まれ、今日が2026年4月29日の場合

  • 2026 - 1990 = 36
  • 誕生日(5月15日)はまだ来ていない → 1引く
  • 満35歳

早見表(2026年4月29日基準)

生まれ年学年(早生まれを除く)4月29日時点の満年齢
196065〜66歳
196560〜61歳
197055〜56歳
197550〜51歳
198045〜46歳
198540〜41歳
199035〜36歳
199530〜31歳
200025〜26歳
2005大学2年20〜21歳
2010高校1年15〜16歳
2015小学5年10〜11歳
2020年中5〜6歳
20250〜1歳

数え年の計算

基本式

数え年 = 満年齢 + (誕生日が来ていなければ +2、来ていれば +1)

または「正月で1歳増える」と考えるとシンプル:

数え年 = 今年 - 生まれ年 + 1

厄年早見表(2026年・男性)

数え年西暦
前厄242003年生
本厄252002年生
後厄262001年生
前厄411986年生
大厄(本厄)421985年生
後厄431984年生
前厄601967年生
本厄611966年生
後厄621965年生

厄年早見表(2026年・女性)

数え年西暦
前厄182009年生
本厄192008年生
後厄202007年生
前厄321995年生
大厄(本厄)331994年生
後厄341993年生
前厄361991年生
本厄371990年生
後厄381989年生
前厄601967年生
本厄611966年生
後厄621965年生

還暦・喜寿・米寿などの長寿祝い

名称年齢(数え年)由来
還暦(かんれき)61歳干支が一巡
古希(こき)70歳杜甫の詩
喜寿(きじゅ)77歳「喜」の草書体が七十七
傘寿(さんじゅ)80歳「傘」の略字が八十
米寿(べいじゅ)88歳「米」の字が八十八
卒寿(そつじゅ)90歳「卒」の略字が九十
白寿(はくじゅ)99歳「百」から「一」を引くと「白」
百寿(ひゃくじゅ)100歳

近年は満年齢で祝うケースも増えています。

学年の計算

学校教育法による区分

4月2日〜翌年4月1日生まれが同学年
学年生まれ年(2026年4月時点)
大学4年(22-23歳)2003年4月2日〜2004年4月1日生
大学3年2004年4月2日〜2005年4月1日生
大学2年2005年4月2日〜2006年4月1日生
大学1年2006年4月2日〜2007年4月1日生
高校3年2007年4月2日〜2008年4月1日生
高校2年2008年4月2日〜2009年4月1日生
高校1年2009年4月2日〜2010年4月1日生
中学3年2010年4月2日〜2011年4月1日生
中学2年2011年4月2日〜2012年4月1日生
中学1年2012年4月2日〜2013年4月1日生
小学6年2013年4月2日〜2014年4月1日生
小学5年2014年4月2日〜2015年4月1日生

早生まれの定義

1月1日〜4月1日生まれ = 早生まれ

学年の中で生まれた年が遅いため、満年齢が一時的に1歳下になります。スポーツの育成では「相対年齢効果」と呼ばれ、4月生まれが有利になりやすいことが知られています。

Excel・スプレッドシートで年齢計算

DATEDIF関数(推奨)

=DATEDIF(生年月日, TODAY(), "Y")
  • B2に生年月日が入っている場合: =DATEDIF(B2, TODAY(), "Y")
  • 単位 "Y": 満年数
  • 単位 "M": 満月数(1ヶ月単位)
  • 単位 "D": 日数
  • 単位 "YM": 1年未満の月数
  • 単位 "MD": 1ヶ月未満の日数

隠し関数の落とし穴

DATEDIFはExcelに正式登録されていない隠し関数で、"MD"単位は計算ミスがあるバグが知られています。「年齢を求める」用途では "Y" のみを使えば安全。

YEARFRAC関数(汎用)

=INT(YEARFRAC(B2, TODAY(), 1))

DATEDIFよりも厳密なISO規格準拠の計算方法。1 は実際の日数ベース。

単純な引き算

=YEAR(TODAY()) - YEAR(B2) - IF(TEXT(TODAY(), "mmdd") < TEXT(B2, "mmdd"), 1, 0)

法律準拠の「誕生日前日に+1」は反映していませんが、一般用途には十分。

数え年(Excel)

=YEAR(TODAY()) - YEAR(B2) + 1

学年(Excel)

=IF(MONTH(B2) <= 3, YEAR(TODAY()) - YEAR(B2) - 1, YEAR(TODAY()) - YEAR(B2))

プログラミングでの年齢計算

JavaScript

function calcAge(birthDateStr) {
  const today = new Date();
  const birth = new Date(birthDateStr);
  let age = today.getFullYear() - birth.getFullYear();
  const m = today.getMonth() - birth.getMonth();
  if (m < 0 || (m === 0 && today.getDate() < birth.getDate())) {
    age--;
  }
  return age;
}

console.log(calcAge('1990-05-15'));  // 35(2026/4/29時点)

Python

from datetime import date

def calc_age(birth_date):
    today = date.today()
    return today.year - birth_date.year - (
        (today.month, today.day) < (birth_date.month, birth_date.day)
    )

print(calc_age(date(1990, 5, 15)))  # 35

PHP

function calcAge($birthDate) {
    $today = new DateTime();
    $birth = new DateTime($birthDate);
    return $today->diff($birth)->y;
}

echo calcAge('1990-05-15');  // 35

契約・保険での年齢の扱い

自動車保険

  • 一般的に満年齢で契約
  • 「26歳以上限定」などの年齢区分は契約日時点の満年齢

生命保険

  • 多くの保険会社で保険年齢を採用
  • 保険年齢: 契約時に「満年齢に6ヶ月加算した年齢の整数部」
  • 例: 契約時35歳5ヶ月 → 35歳。35歳7ヶ月 → 36歳

住宅ローン

  • 借入時年齢 + 返済期間 = 完済時年齢が80歳以下が一般的
  • 満年齢で計算

年金

  • 満65歳の誕生日の前日が年金受給開始の判定日
  • 4月1日生まれは3月31日が判定日になる

まとめ

  • 法律上の年齢は満年齢(誕生日前日に+1)
  • 厄年・長寿祝いは数え年(正月で+1)
  • 学年は4月2日〜翌4月1日の区切り
  • ExcelはDATEDIF関数で簡単に計算

関連ツール: 年齢計算ツール では生年月日から満年齢・数え年・学年を一発で算出。厄年・還暦などの該当年も自動表示します。和暦と西暦の変換は日付変換ツールもあわせてご利用ください。