KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Excel で生年月日から年齢を取得または計算する

著者Xiaoyang変更日

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

doc-get-age-from-birthday-1


YEARFRAC 関数で誕生日に基づいて年齢を計算する

Excel では、YEARFRAC 関数を使って指定した生年月日から年齢を計算できます。一般的な構文は次のとおりです。

=YEARFRAC(birthdate, TODAY())
  • birthdate:誕生日
  • TODAY():この関数は、今日の日付を返します。

したがって、下記の数式を空白セルにご入力ください。

=YEARFRAC(B2,TODAY())

次に、この数式を適用したいセルまでフィルハンドルをドラッグすると、すべての年齢が小数で計算・表示されます(下記スクリーンショット参照)。

doc-get-age-from-birthday-2

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

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

すると、年齢が整数で表示されます。

doc-get-age-from-birthday-3


DATEDIF 関数で誕生日に基づいて年齢を計算する

DATEDIF 関数を使えば、生年月日から年齢を簡単に算出できます。一般的な構文は次のとおりです。

=DATEDIF(birthdate, TODAY(), 「y」)
  • birthdate:誕生日の日付。
  • TODAY():この関数は今日の日付を返します。
  • y:誕生日から現在日付までの満年齢(年数)を返します。

次に、次の数式を空白セルに入力するか、コピーしてください。

=DATEDIF(B2, TODAY(), 「y」)

これにより、生年月日に基づいてすべての年齢が自動計算されます(下記スクリーンショット参照)。

doc-get-age-from-birthday-4


誕生日に基づいて年・月・日単位で年齢を計算する

人物の正確な年齢(誕生日から現在の日付までの年数、月数、日数)を取得するには、DATEDIF 関数を組み合わせて次のような数式を作成します。

=DATEDIF(B2,TODAY(),「Y」) & 「 Years, 」 & DATEDIF(B2,TODAY(),「YM」) & 「 Months, 」 & DATEDIF(B2,TODAY(),「MD」) & 「 Days」

すると、下記のスクリーンショットのように結果が表示されます。

doc-get-age-from-birthday-5

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

=IF(DATEDIF(B2, TODAY(),「y」)=0,「」,DATEDIF(B2, TODAY(),「y」)&「 Years, 」)& IF(DATEDIF(B2, TODAY(),「ym」)=0,「」,DATEDIF(B2, TODAY(),「ym」)&「 Months, 」)& IF(DATEDIF(B2, TODAY(),「md」)=0,「」,DATEDIF(B2, TODAY(),「md」)&「 Days」)

すると、下記のスクリーンショットのように、0 の値を含まない「年・月・日」形式で年齢が表示されます。

doc-get-age-from-birthday-6


Excel で特定の日付における年齢を計算する

場合によっては、現在の日付ではなく、特定の日付時点での年齢を取得したいことがあります。その場合は、第2 引数の TODAY()関数を任意の日付に置き換えるだけで簡単に実現できます。例:

=DATEDIF(birthdate, specific_date, 「y」)
  • birthdate:誕生日の日付。
  • specific_date 生年月日から年齢を計算する際の終了日。
  • y:誕生日から現在の日付までの満年齢(年数)を返します。

次の数式をご利用ください。

=DATEDIF(B2, C2, 「y」)

すると、下記のスクリーンショットのように、生年月日から指定した日付までの年齢が自動的に計算されます。

doc-get-age-from-birthday-7

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

=DATEDIF(B2, C2,「Y」) & 「 Years, 」& DATEDIF(B2,C2,「YM」) & 「 Months, 」&DATEDIF(B2,C2, 「MD」) & 「 Days」

doc-get-age-from-birthday-8


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は生年月日が入力されているセル)

次に、年齢を取得したいセルまでフィルハンドルをドラッグすると、生年月日から今日までの年齢がすべて自動計算されます(下記スクリーンショット参照)。

doc-get-age-from-birthday-9

ヒント:現在の日付ではなく、死亡日までの年齢を取得したい場合は、以下のコードをご利用ください。

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は死亡日のセル)で、下のスクリーンショットのように結果が得られます。

doc-get-age-from-birthday-10


現在の日付または特定の日付からの生年月日に基づいて、便利な機能で年齢を計算する

Kutools for Excelには、複雑な数式を覚えることなく、現在の日付や任意の特定の日付から生年月日に基づいて年齢を簡単に計算できる便利なツール「日付と時刻のヘルパー」が搭載されています。Kutools for Excel の無料トライアル版をダウンロード!


使用する関連関数:

  • YEARFRAC:
  • 2 つの日付間の年数を小数で算出します。
  • TODAY()
  • 現在の日付を返します。
  • INT()
  • 整数部分の値を返します。
  • DATEDIF
  • この関数は、指定された2 つの日付の間の年数、月数、または日数を返します。

関連する年齢計算の記事:

  • Excel で ID 番号から年齢を計算する
  • たとえば、13 桁の数字で構成された ID 番号のリストがあり、その先頭6 桁が生年月日を表しているとします。たとえば、ID 番号「9808020181286」は1998 年8 月2 日生まれを意味します。

最高の Office 生産性ツール

Kutools for Excel - あなたを群衆の中から際立たせます

🤖KUTOOLS AI アシスト:次に基づいてデータ分析を革新します:インテリジェント実行     コード生成  カスタム数式作成    データ分析とチャート生成  拡張機能呼び出し
人気機能検索・ハイライト・重複をマーキング    空白行を削除する    データを失うことなく列の結合またはセルを    数式を使用しない四捨五入...
スーパー VLookup複数条件    複数値    複数シート間    ファジーマッチ...
高度なドロップダウンリスト簡単なドロップダウンリスト    連動型ドロップダウンリスト    複数選択可能なドロップダウンリスト...
列マネージャー指定した数の列を追加    列の移動   非表示列の表示状態を切り替え  列を比較して同じ/異なるセルを選択...
注目の機能グリッドフォーカス    デザインビュー    強化された数式バー    ワークブックとシートマネージャーリソースライブラリ(オートテキスト)  日付ピッカー    ワークシートの統合    暗号化/セルの復号化   リストからメール送信    スーパーフィルター    特殊フィルタ(太字のフォントを持つセルをフィルタリング/イタリック/取り消し線。。。) 。。。
トップ15 ツールセット12 テキストツールテキストの追加特定の文字を削除...)  50+チャートタイプガントチャート...)  40+実用的な数式誕生日に基づいて年齢を計算します...)  19 挿入ツールQR コードを挿入パスから画像を挿入...)  12 変換ツール単語に変換する為替レートの変換...)  7 結合と分割ツール高度な行のマージExcel セルを分割...)。。。他にも多数
Kutools を好みの言語でお使いいただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+言語以上をサポートしています!

Kutools for Excel は300 以上の機能を備えており、必要な機能が常にワンクリックで利用できます…


Office Tab - Microsoft Office(Excel を含む)でタブを使った閲覧・編集を可能にします

  • 数十もの開いているドキュメントを1 秒で切り替えられます!
  • 毎日何百回ものマウスクリックを削減して、マウス手の悩みともさよならしましょう。
  • 複数のドキュメントを閲覧・編集する際の生産性が50%も向上します。
  • Office(Excel を含む)に、Chrome、Edge、Firefox のような効率的なタブ機能をもたらします。