生年月日から現在の満年齢を取得するには、開始日と終了日で指定した日数の期間を「年数・月数・日数」で返す。DATEDIF【デイトデフ】関数を使用します。DATEDIF【デイトデフ】は、DateDifferrence【デイトデファレンス】の略で、Date【デイト】は日を表し Difference【デファレンス】は差をあらわしますので日の差を意味します。
DATEDIF【デイトデフ】関数はエクセルの関数リストにはなく「関数の挿入メニュー」からの挿入はできません。関数を挿入するセルを選択して、数式バーに触接入力する必要があります。
DATEDIF【デイトデフ】関数
引数に指定した開始日と終了日から引数に指定した単位で、開始日と終了日の差を取得するには、DATEDIF【デイトデフ】関数を使用します。
DATEDIF【デイトデフ】関数の書式と引数の説明
- 開始日(必須)
対象期間の開始日を表す日付データ、または、日付データが入力されているセル番地を指定します。 - 終了日(必須)
対象期間の終了日を表す日付データ、または、日付データが入力されているセル番地を指定します。本日までの期間を取得する場合はTODAY【トゥデイ】関数を指定することもできます。【例 =DATEDIF(“2017/01/01″,TODAY(),”Y”) 】 - 単位(必須)
期間を返す間隔の単位を以下の表の単位で指定します。単位は必ずダブルクオーテーション「””」で囲みます。単位の大文字、小文字は区別しません。単位 内容 使用例 戻り値 Y 満年数 =DATEDIF(“2017/01/01″,”2018/02/01″,”Y”) 1 M 満月数 =DATEDIF(“2017/01/01″,”2018/02/01″,”M”) 13 D 満日数 =DATEDIF(“2017/01/01″,”2018/02/01″,”D”) 396 YM 1年未満の月数 =DATEDIF(“2017/01/01″,”2018/02/01″,”YM”) 1 YD 1年未満の日数 =DATEDIF(“2017/01/01″,”2018/02/01″,”YD”) 31 MD 1ヶ月未満の日数 =DATEDIF(“2017/01/01″,”2018/02/01″,”MD”) 0
例として「社員データ表」で実際のDATEDIF関数の使い方を解説します。
この表では、H列にDATEDIF関数を挿入して、年齢を取得します。
G4セルからがDATEDIF関数の引数の開始日でG1セルが終了日になります。
G1セルの終了日は現在日でTODAY【トゥデイ】関数が挿入されています。
H4セルを選択して、数式バーに関数を入力します。
この時関数名が全角にならないように気を付けてください。英小文字でも大丈夫です。
下の行にオートフィルで関数をコピーするので、終了日が入力されているG1セルは「絶対参照」にしてください。
絶対参照は関数のG1を選択状態にしてF4キーを押すと絶対参照になります。
H4セルに関数が挿入できたら H4セル右下スミにマウスでカーソルを移動し、「フィルハンドル」を表示させます。
「フィルハンドル」が表示されたら マウス左ボタンをダブルクリックし、下の行にオートフィルします。これで、現在の年齢が取得できました。
入社日から勤続年数を取得する関数
上記の生年月日から、満年齢を取得するのと同じくDATEDIF【デイトデフ】関数を使用します。
この社員データ表を使って解説します。
H4セルの関数をコピーしてD4セル、E4セル、F4セルに貼り付けます。
第一引数の開始日にあたる参照セルを入社日のC4セルにそれぞれ変更します。
第三引数の単位をD4セルは”Y” E4セルは”YM” F4セルは”MD”にそれぞれ変更します。
それぞれの関数の値の修正ができたらC4セル~F4セルを選択して、F4セルの右下スミにマウスでカーソルを合わせ「フィルハンドル」を表示させます。「フィルハンドル」をダブルクリックして下の行までオートフィルします。
これで完成しました。
引数の終了日は、G1セルにTODAY関数で現在日が自動で挿入されるので、常に最新の年齢や勤続年数が確認できます。
以上で 生年月日から現在の年齢 入社日から勤続年数を取得する関数の解説を終了します。ありがとうございました。