Googleスプレッドシートで生年月日から年齢を計算:DATEDIF関数を活用

「年齢を計算するのが面倒…」「早見表を使わずに、自動で表示できたらいいのに!」
Googleスプレッドシートで年齢を計算する際、手動で計算するのは手間がかかりますよね。
そんなときに便利なのが DATEDIF 関数 です。これを使えば、生年月日を入力するだけで年齢を簡単に計算できます。
今回は、Googleスプレッドシートで DATEDIF関数を使って満年齢や「〇歳〇ヶ月」と表示する方法 をご紹介します。
基本:DATEDIF関数を使った年齢計算
基本的な年齢計算

生年月日が A2
にある場合、次の数式を任意のセルに入力します。
基本的な年齢計算(A2セルを参照)
=DATEDIF(A2, TODAY(), "Y")
=DATEDIF(開始日, 終了日, 単位)
DATEDIF関数は、二つの日付の間の期間を計算できる関数です。
=DATEDIF(開始日, 終了日, 単位)
の「単位」を以下のように設定すると、満年齢や年を除いた月単位の差を求めることができます。
単位 | 計算内容 |
---|---|
“Y” | 年単位の差 (満年齢) |
“YM” | 年を除いた月単位の差 |

基本的な数式の場合、生年月日に未入力のセルがあると、不要な年数が表示されてしまいます。
未入力のところは空白を返すには以下の数式を使用します。
生年月日が未入力の場合に空白にする計算

生年月日が未入力のときにエラーを防ぐには、IF関数を組み合わせた数式にします。
生年月日が未入力の場合に空白にする年齢計算(A2セルを参照)
=IF(A2<>"", DATEDIF(A2, TODAY(), "Y"), "")
数式の説明
A2<>""
→ A2が空でない場合に処理を実行します。DATEDIF(A2, TODAY(), "Y")
→ A2の日付から現在までの満年齢を計算します。""
→ A2が空の場合は空白を返します。
応用①:「〇歳〇ヶ月」と表示する年齢計算

「35歳1ヶ月」のように、歳やヶ月も表示するには次の数式を使います。
〇歳〇ヶ月と表示する年齢計算(A2セルを参照)
=IF(A2<>"", DATEDIF(A2, TODAY(), "Y") & "歳" & DATEDIF(A2, TODAY(), "YM") & "ヶ月", "")
数式の説明
ATEDIF(A2, TODAY(), "Y")
→ 満年齢を取得します。DATEDIF(A2, TODAY(), "YM")
→ 経過月数を取得します。& "歳"
や& "ヶ月"
を追加して、結果に表示します。IF(A2<>"", ..., "")
で 生年月日が未入力の場合は空白にします。
応用②:和暦から年齢を求める方法

以前の記事で紹介した和暦を西暦に変換する数式を活用して年齢を求めることができます。
例えば、A列に和暦(昭和・平成・令和など)が入力されている場合、B列で西暦に変換し、C列で年齢を計算します。
- A列に和暦を入力(例: 平成2年1月1日)
- B列で西暦に変換(以前の記事で紹介した数式を使用)
- C列で年齢を計算(今回の記事)

まとめ
DATEDIF(A2, TODAY(), "Y")
で満年齢を計算DATEDIF(A2, TODAY(), "YM")
を組み合わせると「〇歳〇ヶ月」の形式で表示可能IF
を使うと、空白の場合にエラーを防げる
GoogleスプレッドシートではDATEDIF関数を使うことで、生年月日から満年齢を計算できます。
また、DATEDIFの”YM”オプションを組み合わせることで、「〇歳〇ヶ月」の形式で表示することも可能です。
年齢を自動計算する際にご活用ください。

弊社では、Google Apps Script(GAS)を活用した業務効率化のサポートを提供しております。
GASのカスタマイズやエラー対応にお困りの際は、ぜひお気軽にご相談ください。
また、ITツールの導入支援やIT導入補助金の申請サポートも行っております。
貴方の業務改善を全力でサポートいたします。
コメント