TODAY関数とDATEDIF関数を組み合わせて期間を計算

DATEDIF(デイトディフ)関数
関数

西暦から年齢を自動計算 エクセルの関数技

期間を計算する DATEDIF関数

今回は、特定の期間の年数や月数、日数などを計算しましょう。 例えば、名簿などを作成する際、生年月日を入力しますが、 その時に、現在時点の年齢を表示させたい時があります。
現在の年齢は、生まれた日から現在までの期間の年数ですね。そこで 生年月日から現時点の年齢を計算したい時は、 TODAY関数とDATEDIF関数を組み合わせて使います。
ここでは、特定期間の年数や、月数を求めるDATEDIF関数を使い、現時点の年齢の出し方と年齢を何歳何ヶ月まで表示する方法を紹介します。
現在の年齢を表示
(サンプルファイルは、こちらから 関数技25回サンプルデータ
Excelバージョン:Excel20192016201320102007

特定期間の年数~現在の年齢を表示したい時は

DATEDIF関数は、引数に指定した「開始日」と「終了日」の日数差を調べ、指定した「単位」で表示します。
そこで、生年月日から年齢を計算する場合、DATEDIF関数の引数「開始日」に生年月日を、「終了日」には、きょうの日付を返すTODAY関数使用します。 引数の単位に年を指定すると、結果として年齢が算出されるわけです。
=DATEDIF (開始日,終了日,"単位") DATEDIF関数
■開始日と終了日の日数差を調べ、指定した単位で表示する。
単位は"Y"で年数、"M"で月数、"D"で日数を表示する
また、"YM"で1 年未満の月数"MD"で1 か月未満の日数"YD"で1 年未満の日数を表示する
=TODAY( )今日の日付を表示する。
TODAY関数は、引数は必要ありません。
ファイルを開いた時点でパソコンの内蔵時計が示す「当日の日付」を表示します。
引数は不要なので、括弧の中には何も入れません。

生年月日(西暦)から年齢を計算 

予め、B1セルには、=TODAY() という式が入力されています。C列に年齢を表示させましょう。
DATEDIF関数2
年齢を表示させたいセルC3に、DATEDIF関数の式を立てます。
書式は、=DATEDIF (開始日,終了日,"単位")なので、
「開始日」を生年月日の入力されたセル、「終了日」を今日の日付が入力されたB1セルを指定し、 期間を計算する単位として「単位」を「年」("Y")を指定します。
=DATEDIF(B3,B1,"Y")
DATEDIF関数3

C3セルに年齢を表示させる数式を入力しましたが、
数式を下のセルにコピーする際は、B1セルは常に参照したいので「$B$1」と絶対参照にします。 =DATEDIF(B3,B1,"Y")この式を下のセルにもコピーすればOKです。
セルの右下の角にカーソルを合わせ、+に変わったら、
左ボタンを押して、 そのままズズーっとしたまで引っ張る。
年数4
式をコピーしたいセルがすべて選択できたら、 ボタンから指を離す。
式がコピーされ、 年齢が表示されました。
年数5

年齢をn歳とnヶ月まで表示する

以下の例では、年齢に何ヶ月かも追加して「何歳何ヶ月」と表示しましょう。 期間の月数を求めたい場合は、DATEDIF関数の引数の期間を計算する単位としてを「1 年未満の月数」を表す"YM"を指定します。
月数を求める部分の数式は、 =DATEDIF(B3,B1,"YM")です。
年数の部分と合わせて、見やすくするために文字列も&で結合しています。
=DATEDIF(B3,$B$1,"Y")&"歳"&DATEDIF(B3,$B$1,"YM")&"カ月"
1年未満の月数1
数式を必要な分、オートフィルでコピーして完成です。年齢が「何歳何ヶ月」と表示されました。
1年未満の月数2