- 公開日:
- 更新日:
エクセルで生年月日(誕生日)から年齢を関数で自動計算する方法
顧客データベースをつくる際に、誕生日から現在の年齢を自動算出させたいものです。年齢を計算するには非常に簡単で、関数を利用することにより今現在の年齢を表示することが可能です。
単純な年齢計算だけでなく、年齢から年代を求める方法、5歳刻みで求める方法、そして年齢の集計を行う方法をまとめてご説明します。
生年月日から年齢を自動計算する方法
生年月日から年齢をDATEDIF関数を利用して計算する方法をご説明します。
![年齢表](/_wu/age1.png)
基準日から年齢を引き算することで年齢を計算します。
![基準を本日に指定](/_wu/age2.png)
基準日に『=TODAY()』と入力しましょう。TODAY関数を用いると、今現在の年齢を計算することができます。
![本日の日付の出力](/_wu/age3.png)
本日の日付が出力されました。
![DATEDIF関数の入力](/_wu/age4.png)
『=DATEDIF(』で数式を始めます。DATEDIF関数とは、2つの日付(開始日と終了日)間の年数や月数、日数を求めることができます。
![開始日の参照](/_wu/age5.png)
まずは開始日(古い日付)を参照します。生年月日のセルを選択し、『,』カンマで区切ります。
![終了日の参照](/_wu/age6.png)
次に終了日(新しい日付)を参照します。基準日(本日)のセルを選択し、『,』カンマで区切ります。D6,D7セルへ反映させるため、$で固定します。
![単位の入力](/_wu/age7.png)
DATEDIF関数の年数や月数、日数を指定するのに単位を利用します。年数の差分を求めるには『"Y"』を入力します。
![フィルハンドルでドラッグ](/_wu/age8.png)
Enterで確定してください。現在の年齢が計算されました。フィルハンドルを使って他のセルへ反映させます。
![他のセルへ反映](/_wu/age9.png)
すべての方の年齢が表示されました。
DATEDIF関数を詳しく知りたい方は以下の記事をご参考ください。
ExcelのDATEDIF関数の使い方|2つの日付間の年数/月数/日数を計算
和暦の日付で年齢を計算する
これまでは西暦での計算でしたが、和暦でも問題なく年齢計算ができます。
![和暦にする範囲選択](/_wu/age10.png)
①【和暦にする範囲を選択】し、②【ホーム】タブの③【表示形式】を選択します。
![和暦を選択](/_wu/age11.png)
「セルの書式設定」ダイアログボックスが表示されますので、分類の①【日付】を選択し、カレンダーの種類の②【▼】を押し、③【和暦】を選択します。
![表示の種類を選択](/_wu/age12.png)
和暦の表示の種類を、①【平成~】を選択し、②【OK】ボタンを押します。
![和暦で表示](/_wu/age13.png)
和暦でも年齢に変化はありません。これは、日付の裏側にシリアル値を持っているためです。
年齢の表示方法に関して
年齢から年代を表示する
26歳なら20代、54歳なら50代と表示する方法です。
![ROUNDDOWN関数の入力](/_wu/age14.png)
切り捨てる関数、ROUNDDOWN関数を用います。『=ROUNDDOWN(』で数式を始めます。
![数値の参照](/_wu/age15.png)
切り捨てたい数値を参照し、『,』カンマで区切ります。
![桁数の入力](/_wu/age16.png)
どの位置で切り捨てるのか、桁数を指定します。年代を求めるには、一の位を切り捨てますので指定は『-1』となります。
![年代の算出](/_wu/age17.png)
年代が求まりました。フィルハンドルを使って他のセルへ反映させます。
![他のセルへの反映](/_wu/age18.png)
他のセルへ反映しました。
5歳刻みで表示する
![5歳刻みの例](/_wu/age19.png)
5歳刻みの表示をこのようにしたいと思います。
![CEILING.MATH関数の入力](/_wu/age20.png)
『=CEILING.MATH(D5,5』を入力します。CEILING.MATH関数とは、指定した倍数で切り上げてくれる関数です。今回は「5」で指定したので、5の近い倍数に切り上げられます。
![CEILING.MATH関数の結果](/_wu/age21.png)
37歳は40歳へ切り上げられました。
![~でつなぐ](/_wu/age22.png)
さらに○歳~○歳の範囲を決めるのに、数式を追加します。
まずは、&で『~』をつなげます。文字列なのでダブルクオーテーションで囲みましょう。
![CEILING.MATH関数を5歳引き算する](/_wu/age23.png)
さらにその前方に、先程のCEILING.MATH関数から5を引いた数式を&でつなげます。
![5歳刻みで算出](/_wu/age24.png)
これで5歳刻みの範囲が表示されました。
![他のセルへ反映](/_wu/age25.png)
他のセルへ反映させました。
年齢(年代)を集計する
それぞれの年代を、D列の年齢から集計したいと思います。E列の年代の列を用意しない場合に、直接年齢から求めたほうが楽ですね。
![3名追加](/_wu/age26.png)
集計するためにDさんEさんFさんを追加しました。
![COUNTIF関数の入力](/_wu/age27.png)
年代別の人数集計はCOUNTIF関数を利用します。『=COUNTIF(』を入力します。
![10歳以上をカウント](/_wu/age28.png)
「範囲」は年齢のセルを参照します。「検索条件」は10歳以上と指定します。ここで10歳以上は6人全員となります。
![20歳以上を引き算](/_wu/age29.png)
そして20歳以上で引き算をします。20歳以上は5名です。6名(10歳以上)-5名(20歳以上)で10代が算出されます。
![10代の算出](/_wu/age30.png)
10代は1名です。
![他のセルへの反映](/_wu/age31.png)
他のセルへ反映させるためには、数式バーの赤枠の部分だけ変更してください。