Excel で生年月日から年齢を取得または計算する
Excel ワークシートに従業員の誕生日リストがある場合、それぞれの年齢を計算したくなるもの。そんなときには、YEARFRAC や DATEDIF といった便利な関数を使えば、誕生日から簡単に年齢を取得できます。

- YEARFRAC 関数で誕生日に基づいて年齢を計算する
- DATEDIF 関数で誕生日に基づいて年齢を計算する
- 誕生日に基づいて年・月・日単位で年齢を計算する
- Excel で特定の日付における年齢を計算する
- 1900 より前の生年月日に基づいて年齢を計算する
- 現在の日付または特定の日付からの生年月日に基づいて、便利な機能で年齢を計算する
YEARFRAC 関数で誕生日に基づいて年齢を計算する
Excel では、YEARFRAC 関数を使って指定した生年月日から年齢を計算できます。一般的な構文は次のとおりです。
- birthdate:誕生日
- TODAY():この関数は、今日の日付を返します。
したがって、下記の数式を空白セルにご入力ください。
次に、この数式を適用したいセルまでフィルハンドルをドラッグすると、すべての年齢が小数で計算・表示されます(下記スクリーンショット参照)。

ヒント:YEARFRAC 関数を使うと、計算結果は小数になります。年齢を整数で表示するには、次のように INT 関数と組み合わせてください。
すると、年齢が整数で表示されます。

DATEDIF 関数で誕生日に基づいて年齢を計算する
DATEDIF 関数を使えば、生年月日から年齢を簡単に算出できます。一般的な構文は次のとおりです。
- birthdate:誕生日の日付。
- TODAY():この関数は今日の日付を返します。
- y:誕生日から現在日付までの満年齢(年数)を返します。
次に、次の数式を空白セルに入力するか、コピーしてください。
これにより、生年月日に基づいてすべての年齢が自動計算されます(下記スクリーンショット参照)。

誕生日に基づいて年・月・日単位で年齢を計算する
人物の正確な年齢(誕生日から現在の日付までの年数、月数、日数)を取得するには、DATEDIF 関数を組み合わせて次のような数式を作成します。
すると、下記のスクリーンショットのように結果が表示されます。

ヒント:上記の数式を適用する際、年・月・日のいずれかが「0」の場合にそれを表示しないようにするには、IF 関数を組み合わせて「0」をチェックできます。次の数式をご利用ください。
すると、下記のスクリーンショットのように、0 の値を含まない「年・月・日」形式で年齢が表示されます。

Excel で特定の日付における年齢を計算する
場合によっては、現在の日付ではなく、特定の日付時点での年齢を取得したいことがあります。その場合は、第2 引数の TODAY()関数を任意の日付に置き換えるだけで簡単に実現できます。例:
- birthdate:誕生日の日付。
- specific_date 生年月日から年齢を計算する際の終了日。
- y:誕生日から現在の日付までの満年齢(年数)を返します。
次の数式をご利用ください。
すると、下記のスクリーンショットのように、生年月日から指定した日付までの年齢が自動的に計算されます。

ヒント:年齢を正確な年・月・日で取得するには、次の数式をご利用ください。

1900 より前の生年月日に基づいて年齢を計算する
前述の数式は、生年月日が1900 年より前の場合に正しく動作しません。なぜなら、Excel では1900 年より前の日付を入力すると、自動的にテキスト形式で保存されるためです。そのため、生年月日が1900 年より前であっても年齢を正確に取得できるユーザー定義関数を以下に示します。
1。「Alt + F11」キーを押すと、「Microsoft Visual Basic for Applications」ウィンドウが開きます。
2。次に、「挿入」→「標準モジュール」をクリックし、以下の VBA コードをモジュールウィンドウにコピーしてください。
1900 より前の生年月日から今日までの年齢を計算する
Function AgelnNow(ByVal xDate As Variant)
Dim xIA As Integer
xIA = 0
On Error Resume Next
xIA = DateDiff("yyyy", xDate, Now())
If (Month(Now()) < Month(xDate)) Or (Month(xDate) = Month(Now())) Then
If (Day(Now()) < Day(xDate)) Then
xIA = xIA - 1
End If
End If
If xIA = -1 Then
AgelnNow = "Error"
Else
AgelnNow = xIA
End If
End Function
3。次に、空白セルに次の数式を入力してください:=AgelnNow(A2)(A2は生年月日が入力されているセル)
次に、年齢を取得したいセルまでフィルハンドルをドラッグすると、生年月日から今日までの年齢がすべて自動計算されます(下記スクリーンショット参照)。

ヒント:現在の日付ではなく、死亡日までの年齢を取得したい場合は、以下のコードをご利用ください。
1900 より前の生年月日から死亡日までの年齢を計算する
Function Age(ByVal StartDate As Variant, ByVal EndDate As Variant)
Dim xIA As Integer
xIA = 0
On Error Resume Next
xIA = DateDiff("yyyy", StartDate, EndDate)
If (Month(EndDate) < Month(StartDate)) Or (Month(StartDate) = Month(EndDate)) Then
If (Day(EndDate) < Day(StartDate)) Then
xIA = xIA - 1
End If
End If
If xIA = -1 Then
Age = "Error"
Else
Age = xIA
End If
End Function
次の数式を使用します:=Age(A2,B2)(A2は生年月日のセル、B2は死亡日のセル)で、下のスクリーンショットのように結果が得られます。

現在の日付または特定の日付からの生年月日に基づいて、便利な機能で年齢を計算する
Kutools for Excelには、複雑な数式を覚えることなく、現在の日付や任意の特定の日付から生年月日に基づいて年齢を簡単に計算できる便利なツール「日付と時刻のヘルパー」が搭載されています。Kutools for Excel の無料トライアル版をダウンロード!
使用する関連関数:
- YEARFRAC:
- 2 つの日付間の年数を小数で算出します。
- TODAY()
- 現在の日付を返します。
- INT()
- 整数部分の値を返します。
- DATEDIF
- この関数は、指定された2 つの日付の間の年数、月数、または日数を返します。
関連する年齢計算の記事:
- Excel で生年月日を年齢にすばやく変換する
- たとえば、Excel にさまざまな生年月日のデータが含まれる範囲があり、それを正確な年齢として表示したい場合は、どのようにすればよいでしょうか?
- Google シートで生年月日から年齢を計算する
- Google シートで生年月日から年齢を計算したことはありますか?この記事では、その作業を素早く簡単にこなせる便利な数式をいくつかご紹介します。
- Excel で ID 番号から年齢を計算する
- たとえば、13 桁の数字で構成された ID 番号のリストがあり、その先頭6 桁が生年月日を表しているとします。たとえば、ID 番号「9808020181286」は1998 年8 月2 日生まれを意味します。
- 誕生日で年・月・日単位の年齢を計算する
- 生年月日の列がある場合、下記のスクリーンショットのように、各人の年齢を「年・月・日」単位または小数で素早く計算できますか?
- Excel で特定の日付または将来の日付における年齢を計算する
- たとえば、ある人物の誕生日がわかっていて、将来の日付または特定の日付を基にその人の年齢を計算したい場合、以下の方法がステップ・バイ・ステップで詳しく役立ちます。
最高の Office 生産性ツール
Kutools for Excel - あなたを群衆の中から際立たせます
| 🤖 | KUTOOLS AI アシスト:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気機能:検索・ハイライト・重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー VLookup:複数条件 | 複数値 | 複数シート間 | ファジーマッチ... | |
| 高度なドロップダウンリスト:簡単なドロップダウンリスト | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト... | |
| 列マネージャー:指定した数の列を追加 | 列の移動 | 非表示列の表示状態を切り替え |列を比較して同じ/異なるセルを選択... | |
| 注目の機能:グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブックとシートマネージャー|リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/イタリック/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除...)| 50+チャートタイプ(ガントチャート...)| 40+実用的な数式(誕生日に基づいて年齢を計算します...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入...)| 12 変換ツール(単語に変換する、為替レートの変換...)| 7 結合と分割ツール(高度な行のマージ、Excel セルを分割...)|。。。他にも多数 |
Kutools for Excel は300 以上の機能を備えており、必要な機能が常にワンクリックで利用できます…
Office Tab - Microsoft Office(Excel を含む)でタブを使った閲覧・編集を可能にします
- 数十もの開いているドキュメントを1 秒で切り替えられます!
- 毎日何百回ものマウスクリックを削減して、マウス手の悩みともさよならしましょう。
- 複数のドキュメントを閲覧・編集する際の生産性が50%も向上します。
- Office(Excel を含む)に、Chrome、Edge、Firefox のような効率的なタブ機能をもたらします。