Excel(エクセル)で生年月日から年齢を●歳●か月で求める方法/Datedif関数の使い方

birthday IT

生年月日を入力すると、自動的に年齢を計算してくれる機能はよく見ます。
365で割って端数を切り捨てしてもいいんですが、月齢まで求めるとなるとちょっと……というわけで、今回はDatedif関数というものを使います。

Advertisements

Datedif関数とは

Datedif関数は日付と日付の間の日数を、色んな単位で求める関数です。
関数の使い方自体は既に別の記事で解説している(Datedif関数)ので、必要に応じてそちら参照してもらえるとありがたいです。構文としては下記のようになります。

開始日と終了日の間の期間を求める
Datedif(開始日,終了日,単位)
※単位は”D”、”M”、”Y”、”YD”、”YM”、”MD”のいずれか
※終了日は開始日より未来である必要がある
datedifold1
さてこんな表があるとして、
datedifold2
まずは生年月日と今日の日付を使って、生まれてからの日数を求めてみましょう。
Datedif関数は開始日→終了日の順に日付を書きます。開始日は生年月日なのでB列、終了日は今日なので、=Datedif(B2,Today(),”D”)のようになります。
最後のDはDay=日付換算です。
datedifold3
結果こうなります。これはこれで興味深いデータです。
datedifold4
この最後のDをYにすると、年換算で日数を数えることができます。年をまたいだ余った日付は切り捨てされます。
datedifold5
かくして年齢が求められます。
datedifold6
単位にはさらに、年をまたいだ場合には年を切り捨てて月だけ数えるYMというものがあります。まずは年齢のあとに「歳」を付けて……。
datedifold7
=Datedif(B2,Today(),”Y”)&”歳”&Datedif(B2,Today(),”YM”)&”か月”と、ふたつDatedif関数をくっつけてあげると、
datedifold8
●歳×か月、という計算をすることができます。もし月単位で数えたければ、単位をMにすればOKです。
やりたいことから方法を探すエクセルExcel操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ
関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。

コメント