- 公開日:
- 更新日:
エクセルで生年月日(誕生日)から年齢を関数で自動計算する方法
顧客データベースをつくる際に、誕生日から現在の年齢を自動算出させたいものです。年齢を計算するには非常に簡単で、関数を利用することにより今現在の年齢を表示することが可能です。
単純な年齢計算だけでなく、年齢から年代を求める方法、5歳刻みで求める方法、そして年齢の集計を行う方法をまとめてご説明します。
生年月日から年齢を自動計算する方法
生年月日から年齢をDATEDIF関数を利用して計算する方法をご説明します。

基準日から年齢を引き算することで年齢を計算します。

基準日に『=TODAY()』と入力しましょう。TODAY関数を用いると、今現在の年齢を計算することができます。

本日の日付が出力されました。

『=DATEDIF(』で数式を始めます。DATEDIF関数とは、2つの日付(開始日と終了日)間の年数や月数、日数を求めることができます。

まずは開始日(古い日付)を参照します。生年月日のセルを選択し、『,』カンマで区切ります。

次に終了日(新しい日付)を参照します。基準日(本日)のセルを選択し、『,』カンマで区切ります。D6,D7セルへ反映させるため、$で固定します。

DATEDIF関数の年数や月数、日数を指定するのに単位を利用します。年数の差分を求めるには『"Y"』を入力します。

Enterで確定してください。現在の年齢が計算されました。フィルハンドルを使って他のセルへ反映させます。

すべての方の年齢が表示されました。
DATEDIF関数を詳しく知りたい方は以下の記事をご参考ください。
ExcelのDATEDIF関数の使い方|2つの日付間の年数/月数/日数を計算
和暦の日付で年齢を計算する
これまでは西暦での計算でしたが、和暦でも問題なく年齢計算ができます。

①【和暦にする範囲を選択】し、②【ホーム】タブの③【表示形式】を選択します。

「セルの書式設定」ダイアログボックスが表示されますので、分類の①【日付】を選択し、カレンダーの種類の②【▼】を押し、③【和暦】を選択します。

和暦の表示の種類を、①【平成~】を選択し、②【OK】ボタンを押します。

和暦でも年齢に変化はありません。これは、日付の裏側にシリアル値を持っているためです。
年齢の表示方法に関して
年齢から年代を表示する
26歳なら20代、54歳なら50代と表示する方法です。

切り捨てる関数、ROUNDDOWN関数を用います。『=ROUNDDOWN(』で数式を始めます。

切り捨てたい数値を参照し、『,』カンマで区切ります。

どの位置で切り捨てるのか、桁数を指定します。年代を求めるには、一の位を切り捨てますので指定は『-1』となります。

年代が求まりました。フィルハンドルを使って他のセルへ反映させます。

他のセルへ反映しました。
5歳刻みで表示する

5歳刻みの表示をこのようにしたいと思います。

『=CEILING.MATH(D5,5』を入力します。CEILING.MATH関数とは、指定した倍数で切り上げてくれる関数です。今回は「5」で指定したので、5の近い倍数に切り上げられます。

37歳は40歳へ切り上げられました。

さらに○歳~○歳の範囲を決めるのに、数式を追加します。
まずは、&で『~』をつなげます。文字列なのでダブルクオーテーションで囲みましょう。

さらにその前方に、先程のCEILING.MATH関数から5を引いた数式を&でつなげます。

これで5歳刻みの範囲が表示されました。

他のセルへ反映させました。
年齢(年代)を集計する
それぞれの年代を、D列の年齢から集計したいと思います。E列の年代の列を用意しない場合に、直接年齢から求めたほうが楽ですね。

集計するためにDさんEさんFさんを追加しました。

年代別の人数集計はCOUNTIF関数を利用します。『=COUNTIF(』を入力します。

「範囲」は年齢のセルを参照します。「検索条件」は10歳以上と指定します。ここで10歳以上は6人全員となります。

そして20歳以上で引き算をします。20歳以上は5名です。6名(10歳以上)-5名(20歳以上)で10代が算出されます。

10代は1名です。

他のセルへ反映させるためには、数式バーの赤枠の部分だけ変更してください。