更新日:2024.06.04
目次
社員名簿や会員リストを作成し年齢を管理する際、それぞれの生年月日から年齢を手入力していませんか?
DATEDIF関数を使うことで、古い日付から新しい日付までの経過期間を、指定した単位で計算してくれるため、業務効率化を図ることができます。
今回はそんなDATEDIF関数について、じっくりと使い方をご紹介します。
監修:みずき さん
EXCEL女子の研修講師をしています。Excel研修では「覚える」だけではなく「理解する」ことで、自身の力としてExcelスキルを身につけられる研修を実施しています。研修をするたびにExcelが大好きになり、Excelってすごい!と実感しています。Excelの他には写真が好きで食べ物や風景を撮影しています!
名簿に入力されるデータの中には、年齢や勤続年数のように値が毎年変わるものがありますが、これらを毎年計算し直すのは大変ですよね。
2つの日付から年数、月数、日数などを求める際にDATEDIF関数を使うことで、自動で計算してくれるため非常に便利です。また、計算ミスを防ぐことができるため正確かつスピーディーな資料作成が可能です。
DATEIF関数の基本構文は以下の通りです。
=DATEDIF(開始日,終了日,"単位")
2つの日付の期間を求め、その間の「年数」、「月数」や、日数」などを求める
単位の引数は、以下の表の文字を指定します。
単位 | 意味 | 列 |
"Y" | 期間内の満年数 | =DATEDIF("2015/1/1","2016/3/1","Y")→1 |
"M" | 期間内の満月数 | =DATEDIF("2015/1/1","2016/3/1","M")→14 |
"D" | 期間内の満日数 | =DATEDIF("2015/1/1","2016/3/1","D")→425 |
"YM" | 1年未満の月数 | =DATEDIF("2015/1/1","2016/3/1","YM")→2 |
"YD" | 1年未満の日数 | =DATEDIF("2015/1/1","2016/3/1","YD")→59 |
"MD" | 1か月未満の日数 | =DATEDIF("2015/1/1","2016/3/1","MD")→0 |
それでは実際の数式を入力してみましょう。
(1)結果を表示させたいセルを選択する
(2)数式バーに「=DATEDIF(F4,$F$1,"Y")」と入力する
この場合、開始日は入社年月日のセル【F4】、終了日はセル【F1】を指定し、単位は満年数を意味する「"Y"」と入力します。また、セル【F1】は絶対参照($)で固定しておきましょう。
(3)Enterキーを押す
セル【G4】に勤続年数が表示されます。
(4)オートフィル機能で数式をコピーする
セル【G4】の数式がコピーされ、全員の勤続年数が表示されます。
(1)結果を表示させたいセルを選択する
(2)数式バーに「=DATEDIF(D4,$D$1,"Y")&"歳"&DATEDIF(D4,$D$1,"YM")&"ヶ月")」と入力する
数式が長いため難しく思えますが、前後で分けて見れば考え方は先程と同様です。
(3)Enterキーを押す
セル【E4】に年齢が◯歳◯ヶ月で表示されます。
(4)オートフィル機能で数式をコピーする
セル【E4】の数式がコピーされ、全員の年齢が表示されます。
DATEDIF関数の応用的な使い方の例として、ある一定の月数が経過した段階でイベントやプレゼントなどのサービスを行ったり、経過年月を管理したりする際にも便利です。
(1)セル【E4】の数式バーに「=DATEDIF(D4,$D$1,"M")」と入力する
(2)オートフィルで数式をコピーする
各会員が入会してからの月数が表示されます。
(3)セル【G4】の数式バーに「=IF(E4>=50,"プレゼント","")」と入力する
(もし、セル【E4】が50以上なら「プレゼント」と表示し、そうでなければ空白で表示してね。という意味です。)
(4)オートフィルで数式をコピーする
入会後月数が50ヶ月以上の会員のみ、G列に「プレゼント」と表示されます。
DATEDIF関数は、範囲内にうるう年などがあったりすると間違った結果を出すことがあります。給与など正確な計算が必要な場合には、利用を控えるか、計算結果が正しいか再確認しましょう。
日本の法律(年齢の数え方に関する法律)では、年齢を誕生日の前日に加算します。そのため、このルールにのっとる場合は、「=TODAY()」のあとに「+1」を追加しましょう。
また、DATEDIF関数は誕生日を過ぎると自動計算されるため、年齢が増えてしまいます。1日違うだけでも計算結果は大きく変わってきてしまうので、これらを踏まえたうえで法律と一般慣習のどちらを基準に運用するか考えて利用しましょう。
今回は、2つの日付から年数、月数、日数を求めて表示をしてくれるDATEDIF関数をご紹介しました。
DATEDIF関数は、勤続年数や契約年数など社員管理を中心に、様々なシーンで活用できる関数です。ぜひ、DATEDIF関数を上手に使いこなして、業務効率をあげてゆきましょう。
当社では、『Microsoft認定トレーナー』資格を持つEXCEL女子による「Excel研修」を提供しております。書籍化するなど注目いただいている研修です。
社員教育に時間を割けない、Excelスキルの底上げをしたいなどお悩みでしたら、ぜひお気軽にお問い合わせください。