Excel(エクセル)で生年月日と基準日や指定日から年齢を計算する方法

スポンサーリンク
スポンサーリンク
スポンサーリンク

Introduction

Ver. all 2013 2016 2019 2021 365

Excel(エクセル)で、現在の日付(基準となる日付)と生年月日から年齢を求める方法です。

現在の日付の場所が無い場合でも、TODAY関数やNOW関数を使用することで、その場所に年齢を表示することができます。

また、日付が和暦や西暦の表示になっていても、エクセルは日付を数値として認識しているので同じように設定が可能ですよ。

使用するのはDATEDIF関数。

 


DATEDIF関数・・・2つの日付期間の日数、月数、年数を数える。

=DATEDIF(開始日,終了日,単位)

  • 開始日・・・期間の最初の日付(開始日)を指定
  • 終了日・・・期間の最後の日付(終了日)を指定
  • 単位・・・表示される結果の情報を指定
    • “Y”・・・期間を年数で表示
    • “M”・・・期間を月数で表示
    • “D”・・・期間を日数で表示。
    • “MD”・・・日数を表示。月と年は無視して、1月以内の日数を表示。
    • “YD”・・・日数を表示。年は無視して、1年以内の日数を表示。
    • “YM”・・・月数を表示。年は無視して、1年以内の月数を表示。

 

この関数は、[関数の挿入ダイアログボックス]には表示されません

ということで、「DATEDIF」関数を使用する時は、直接関数を自分で入力する必要があります

 

猫は1年半ぐらいで立派な大人にゃ

スポンサーリンク

日付から年齢を算出する方法

では、やってみましょう。

下の表の「生年月日」と「今日の日付」のセルを使用することで「年齢」を表示してみます。

 

まず、「E5」をクリックして、「=」を自分で入力します。

これで、関数を入力する準備完了です。

次に「datedif」と関数名を入力します。

大文字、小文字はどちらでも構いません。(小文字で入力しても後で大文字に変換されます)

関数の引数(詳細設定)を入力するための括弧「(」を入力して、

マウスに持ち替えます

「生年月日」の「D5」をクリックします。

キーボードで「d5」と入力しても良いのですが、セル参照はマウスを使用した方が早いですし正確です。

引数の区切りのカンマ「,」を入力して、

「今日の日付」の「D2」をクリック

この場所だけ年齢を表示するのであればそのまま次に進むのですが、今回は【F4】キーを押して「$」記号付けて絶対参照にします

後でオートフィル機能で下にコピーした時に、「D2」のセル参照が下にずれると困るためです。

※絶対参照について不安な方は、下のリンク先をご覧ください。

Excel(エクセル)で計算する方法 ③|絶対参照の使い方
Excel(エクセル)での計算や関数で使用する絶対参照の説明です。エクセルを始めた方が最初に苦手とするところです。ゆっくり説明します。

 

またカンマ「,」を入力して、最後の引数に年数を表示したいので「”y”」を入力して括弧を閉じます「y」も小文字でかまいません

最後の引数の場所は必ずダブルクォーテーション「”」で囲む必要があります

【Enter】キーで確定すると、期間の年数が表示されます。

後は、右下のフィルハンドルを下に引っ張りましょう

計算式がコピーされて、下の結果も表示されます。

スポンサーリンク

日付を用意せずに年齢を表示する方法

現在の日付の場所を用意していない場合は、

今日の日付を表示する関数を利用しましょう。

  • TODAY関数・・・現在の日付を表示する
  • NOW関数・・・現在の日付と時刻を表示する

どちらでも良いのですが、年齢を算出するのに時刻は必要ないのでTODAY関数がおすすめ。

先ほどの「今日の日付」の場所をTODAY関数で置き換えるだけです。

 


TODAY関数・・・コンピュータの日付を参照し、現在の日付を表示する(シリアル値を返す)

=TODAY()

  • 「()」だけが必要になります。中身の引数は必要ありません。

 

他の関数では必要になる引数という括弧の中の細かい設定が一切必要ないのがTODAY関数の特徴ですね。

下の画像の数式バーの赤線の場所に注目

先ほどの「今日の日付」のセル参照を入れていた場所を、「TODAY()」に置き換えています。

これで、生年月日さえあれば、年齢が表示できますね。

年齢の表示(見た目)を変更する方法

単純に年齢を数字で表示するのではなく、下のように「〇歳」と表示したり、もう少し細かく「〇年〇ヶ月」のように表示するやり方です。

まず、「〇歳」と表示する方法ですが、下のように設定します。

赤線の場所が新たに設定した箇所です。

「”歳”」のように、表示する文字をダブルクォーテーション「””」で囲んであげます。また、それを前の式と結合するために「&」演算子で結んであげればできあがり。

 

次に、「〇歳 〇ヶ月」と表示する方法です。

少し面倒になります。

式は下のようになります。

赤線の場所がポイントとなる場所。

DATEDIF関数の[単位]の場所ですが、前半が「”y”」で年数を表示していたのを、後ろ側は「”ym”」を使用して月数を表示しています。

また、細かいのですが、「”歳 ”」と、「歳」の後にスペースを1つ追加しています。これにより、「〇歳」と「〇ヶ月」がくっつかずに表示されて見やすくなります。

そして2つのDATEDIF関数を「&」演算子で結びます。緑線の場所です。

 

最後に、「〇」日まで表示するやり方。

方法は、先ほどと一緒です。

日数を表示する[単位]の場所は「”md”」を使用します。

 

しかし、この日数を表示する「”md”」ですが注意事項があります。

“MD”は、正確な日付が計算されない場合がある

マイクロソフトのサポートページでも「”MD” 引数は、負の値、ゼロ、または不正確な結果を返すことがあります」とかかれています。

一応説明しましたが、月数までに留めておいた方が良さそうですね。

まとめ

年齢を表示する方法についての説明でした。

DATEDIF関数を使用することで簡単に算出できます。

関数ダイアログボックスが使用できず、直接関数を入力する必要があるのが面倒ですが、覚えておくと便利ですよ。

 

「〇歳」と表示するだけなら、表示形式を使用しても良いですね。

[セルの書式設定]ダイアログボックスの[表示形式]タブの[ユーザー定義]を選び、[種類]の場所に「0″歳”」と入力します。

これで見た目だけ「歳」を表示することができます。

 

猫は人間よりも早く歳をとるにゃ