メインコンテンツへスキップ

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

Excelワークシートに従業員の生年月日のリストがある場合は、ここで、それぞれの年齢を計算します。 Excelには、YEARFRACやDATEDIFなど、誕生日から年齢をすばやく簡単に取得するのに役立つ便利な関数がいくつかあります。


YEARFRAC関数を使用して生年月日に基づいて年齢を計算します

Excelでは、YEARFRAC関数を使用すると、指定された生年月日から年齢を取得できます。一般的な構文は次のとおりです。

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

したがって、次の数式を空白のセルに使用してください。

=YEARFRAC(B2,TODAY())

次に、塗りつぶしハンドルをこの数式を適用するセルまでドラッグします。すべての年齢が計算され、セルにXNUMX進数として表示されます。スクリーンショットを参照してください。

ヒント:YEARFRAC関数を使用して計算された結果はXNUMX進数です。年齢番号を整数にするには、INT関数を次のように組み合わせる必要があります。

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

そして、あなたは整数として年齢を取得します:


DATEDIF関数を使用して生年月日に基づいて年齢を計算します

DATEDIF関数は、生年月日を年齢に変換することもできます。一般的な構文は次のとおりです。

=DATEDIF(birthdate, TODAY(), "y")
  • birthdate:誕生日の日付。
  • TODAY():この関数は今日の日付を返します。
  • y:生年月日から現在の日付までの完全な年数を返します。

ここで、次の数式を空白のセルに入力またはコピーしてください。

=DATEDIF(B2, TODAY(), "y")

そして、すべての年齢は生年月日に基づいて計算されています。スクリーンショットを参照してください。


年、月、日での生年月日に基づいて年齢を計算します

生年月日から現在までの年数、月数、日数など、正確な年齢を知りたい場合。 DATEIF関数は、次のようにXNUMXつの数式に連結する必要があります。

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

そして、次のスクリーンショットのような結果が得られます。

ヒント:上記の式を適用するときに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の値なしで年、月、日で表示されます。


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

現在の日付ではなく、生年月日から特定の日付までの年齢を取得したい場合があります。この場合、XNUMX番目の引数のTODAY()関数を特定の日付に変更する必要があります。 といった:

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

次の式を使用してください。

=DATEDIF(B2, C2, "y")

次に、次のスクリーンショットに示すように、年齢は生年月日から特定の日付まで計算されています。

ヒント:年齢の正確な年、月、日を取得するには、次の式を使用してください。

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


1900年以前の日付の誕生に基づいて年齢を計算します

生年月日が1900年より前の場合、上記の数式は正しく機能しません。1900年より前の日付を入力すると、Excelにテキスト形式で自動的に保存されるためです。 したがって、ここにユーザー定義関数があり、生年月日が1900年より前の場合に年齢を取得するのに役立ちます。

1。 プレス Altキー+ F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

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

そして、次の式を使用します。 =年齢(A2、B2) (A2 は生年月日セルであり、 B2 以下のスクリーンショットに示すように結果を取得するには、死亡日のセルです)。


驚くべき機能を備えた現在または特定の日付からの日付の誕生に基づいて年齢を計算します

Kutools for Excel 便利なツールをサポートします- 日付と時刻のヘルパー 面倒な数式を覚えることなく、現在の日付または特定の日付からの日付の誕生に基づいて年齢を計算するのに役立つ機能。 クリックしてKutoolsfor Excelを無料トライアルでダウンロードしてください!


使用される相対関数:

  • YEARFRAC:
  • XNUMXつの日付の間の小数年を表すXNUMX進値を返します。
  • 今日()
  • 現在の日付値を示します。
  • INT()
  • 値の整数部分を返します。
  • DATEIF
  • この関数は、指定されたXNUMXつの日付の間の年、月、または日数を返します。

相対年齢計算記事:

  • ExcelでID番号から年齢を計算する
  • 13桁の数字を含むID番号のリストがあり、最初の6つの数字が生年月日であるとします。 たとえば、ID番号9808020181286は、生年月日が1998/08/02であることを意味します。

最高のオフィス生産性ツール

Kutools forExcel-群衆から目立つのに役立ちます

🤖 Kutools AI アシスタント: 以下に基づいてデータ分析に革命をもたらします。 インテリジェントな実行   |  コードを生成  |  カスタム数式の作成  |  データを分析してグラフを生成する  |  Kutools関数を呼び出す...
人気の機能: 重複を検索、強調表示、または識別する  |  空白行を削除する  |  データを失わずに列またはセルを結合する  |  数式なしのラウンド ...
スーパーVルックアップ: 複数の基準  |  複数の値  |  複数のシートにわたって  |  ファジールックアップ...
上級ドロップダウンリスト: 簡単なドロップダウンリスト  |  依存関係のドロップダウン リスト  |  複数選択のドロップダウンリスト...
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  列を比較する 同じセルと異なるセルを選択する ...
注目の機能: グリッドフォーカス  |  デザインビュー  |  ビッグフォーミュラバー  |  ワークブックとシートマネージャー | リソースライブラリ (自動テキスト)  |  日付ピッカー  |  ワークシートを組み合わせる  |  セルの暗号化/復号化  |  リストごとにメールを送信する  |  スーパーフィルター  |  特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト ツール (テキストを追加, 文字を削除する ...)  |  50+ チャート 種類 (ガントチャート ...)  |  40+ 実用的 (誕生日に基づいて年齢を計算する ...)  |  19 挿入 ツール (QRコードを挿入, パスから画像を挿入 ...)  |  12 変換 ツール (数字から言葉へ, 通貨の換算 ...)  |  7 マージ&スプリット ツール (高度な結合行, Excelのセルを分割する ...)  |  ... もっと

Kutools for Excelは300以上の機能を誇り、 必要なものをワンクリックで手に入れることができます...

説明


Officeタブ-MicrosoftOffice(Excelを含む)でタブ付きの読み取りと編集を有効にする

  • 数十の開いているドキュメントを切り替えるのにXNUMX秒!
  • マウスの手に別れを告げて、毎日何百ものマウスクリックを減らしてください。
  • 複数のドキュメントを表示および編集する際の生産性が 50% 向上します。
  • Chrome、Edge、Firefox と同様に、効率的なタブを Office (Excel を含む) にもたらします。
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations