Excelの講習で生徒さんからの質問で多いのが。。。
「生年月日を入力するだけで年齢が自動計算できるようにするには、どんな関数を使用するのですか?」というものです
この場合に使用するのは、『DATEDIF(デイトディフ)関数』
この関数は開始日から終了日までの「年数」「月数」「日数」などを求めることができます。
上記の質問の場合は
生年月日を「開始日」、年齢を求めたい日(現在の日付)を「終了日」に指定すれば、「年齢」を求めることができます。
ただこの関数は。。。
[関数の挿入][関数の貼り付け]ダイアログに表示されないので
キーボードから手入力する必要があります。
なぜ表示されないのかは↓ マイクロソフトのサイトのサポート記事をご覧ください。
[XL2000] DATEDIF 関数が関数ウィザードの関数名一覧に含まれない★DATEDIF関数の書式★
=DATEDIF(開始日,終了日,単位)
【開始日】には、期間開始日またはセルを指定します。
日付を指定する場合は『"(ダブルクォーテーション)』で日付の前後を囲みます。
【終了日】には、期間終了日またはセルを指定します。
日付を指定する場合は『"(ダブルクォーテーション)』で日付の前後を囲みます。
【単位】には、表示する期間の単位を指定します。
"Y" : 期間内の満年数
"M" : 期間内の満月数
"D" : 期間内の日数
"YM" : 1年未満の月数
"YD" : 1年未満の日数
"MD" : 1ヶ月未満の日数
※大文字でも小文字でもかまいません。
▼操作例▼D5セルに現在の年齢を「年数」で求めます。
C3セルには年齢を求めたい年月日 ←引数の終了日
C5セルには生年月日 ←引数の開始日
D5セルに「=DATEDIF(C5,$C$3,"Y") 」と入力
※2番目の引数はあとでコピーすることを考慮し、絶対参照にしておきます。
入力した数式をコピーし、完成。
全ての方の満年齢が計算されました↓
「=DATEDIF(C5,$C$3,"Y") 」と入力した単位の"Y"を変更すると↓
"M"にすると → D5セルの表示は『383(ヶ月)』( 期間内の満月数)
"D"にすると → D5セルの表示は『11671(日)』( 期間内の日数)
"YM"にすると→ D5セルの表示は『11(ヶ月)』( 1年未満の月数)
"YD"にすると→ D5セルの表示は『348(日)』( 1年未満の日数)
"MD"にすると→ D5セルの表示は『14(日)』( 1ヶ月未満の日数)
例えば、上記例を
「○歳○ヶ月」というような表示にする場合は、
「=DATEDIF(C5,$C$3,"Y") & "歳" & DATEDIF(C5,$C$3,"YM") & "ヶ月"」
とします。
とても便利で簡単な関数なので、是非使ってみてくださいね