
GoogleスプレッドシートのDATEDIF関数を使って、年齢を生年月日から自動で計算する方法をご紹介します。年齢だけでなく経過月数・日数を取得できる単位の指定方法についても解説しているので、ぜひ参考にしてみてください。
年齢を計算する(DATEDIF関数)
満年齢を求める

生年月日から現在の満年齢を求めたい場合、DATEDIF関数を使います。
DATEDIF関数は、「開始日」と「終了日」の期間を計算し、指定した単位(年、月、日)で返します。
例:=DATEDIF(A2,TODAY(),"Y")
【ポイント】
- 終了日:TODAY関数で今日の日付を自動取得します。
- 単位:
Yは、経過年数を返します。二重引用符("")で囲って記述します。
DATEDIF関数の基本:(開始日, 終了日, 単位)
【単位一覧】
- D: 期間全体の日数
- Y:期間全体の年数
- M:期間全体の月数
- YM:年数を含まない残りの月数
- MD:年数と月数を含まない残りの日数
- YD:年数を含まない日数
年齢と月数を求める

「○歳と○ヶ月」という形で表示したい場合は、&を使ってDATEDIF関数の計算結果と文字列を結合します。
例:=DATEDIF(A2,TODAY(),"Y")&"歳"&DATEDIF(A2,TODAY(),"YM")&"ヶ月"
【ポイント】
- 年齢には
"Y"を使用します。 - 月数には「年数を含まない残りの月数」を返す
"YM"を使用します。
年代を計算する(FLOOR関数)

年齢から「20代」「30代」といった年代を計算したい場合、FLOOR関数を使います。
FLOOR関数は、指定した「値」を、「基準値」の最も近い倍数に値を切り下げます。
例:=FLOOR(B2,10)
【ポイント】
- 値:DATEDIF関数で取得した年齢を、FLOOR関数の値として活用します。
- 基準値:10の倍数で切り捨て(例:25歳→20、35歳→30)します。
FLOOR関数の引数:(値, [基準値])
生年月日から年代を取得する処理を一つの数式にしたい場合、次のようになります。
例:=FLOOR(DATEDIF(A2,TODAY(),"Y"),10)