人事の仕事をしていると、毎月一度は勤続年数や年齢などの、期間を計算するシーンが結構あります。
また、うちの会社は4月から会計年度が始まるのですが、ある日付を年度に直したいというケースがあります。
例えば、2021年3月16日付の入社者の入社年度は「2020年度」となります。
この「2020年度」を「2021年3月16日」から求める場合はどのようにすれば良いのでしょう・・・?
期間の表示と年度表示
よく使う数式をまとめます。解説は後述します。
項目名 | 数式 | 表示例 |
---|---|---|
年数(年表示) | =DATEDIF([開始日],[終了日],”y”)&”年” | 29年 |
年月数(年月表示) | =DATEDIF([開始日],[終了日],”y”)&”年”&DATEDIF([開始日],[終了日],”ym”)&”ヶ月” | 29年11ヶ月 |
今日時点の日付を使って年齢を表示 | =DATEDIF([開始日],TODAY(),”y”)&”歳” | 29歳 |
年度表示 | =YEAR(EDATE([日付],-3))
※年度はじまりが”4月”の場合、引数で「-3」を指定します |
2021 |
期間の表示(解説)
勤続年数を年数で表示する(例:31年)
勤続年数を表示するには、入社日とある時点の日付の差分をとることで求められます。
数式は
=DATEDIF([開始日],[終了日],”y”)&”年”
となります。
日付の差分は、Datedif関数で表示することができます。
読み方は「デイト ディフ」でしょう。
差分比較のコマンド「diff」からきてると思われます。
たまに「デイテッド イフ」と言われている方いますが、その機能を分かっているとすごい違和感あります・・・
私はこんな感じで覚えてます。
↓
Datedif で 開始日 から 終了日 までの 年数Y(Yearの”Y”) を表示する
Datedifは基本これだけ覚えていれば使いこなせると思います。
勤続年数を年月で表示する(例:31年11ヶ月)
さて、年月の表示ですが、月数の差分表示のパラメータを理解する必要があります。
利用する数式は、
=DATEDIF([開始日],[終了日],”y”)&”年”&DATEDIF([開始日],[終了日],”ym”)&”ヶ月”
です。
ご覧いただいてわかる通り、
Datedif で 開始日 から 終了日 までの 年数Y(Yearの”Y”) を表示する のと、
Datedif で 開始日 から 終了日 までの 月数Y(YearMonthの”YM”) を表示する のと、
の合わせ技です。
YMという引数を忘れてましうこともあるかもしれませんが、それはこのページを毎度見てくださいませ。
今日時点の日付を使って年齢を表示する
Datedifを使う上で、合わせて覚えておいてもらいたいのが、「今日時点の日付を表示する」ということです。
今日時点の年齢を表示するための数式は以下の通りです。
=DATEDIF([開始日],TODAY(),”y”)&”歳”
終了日部分が「TODAY()」となっています。
この「TODAY()」が「今日時点の日付」を表示するという関数なのです。
厳密には、今日時点のシステム日付(パソコンの日付)を取得します。
この関数を使うことで、毎度日付を入力せずとも、今日時点の日付を間違えることなく入力することができます。
参考情報として年齢を表示する際にいいですね!!
年度の表示
皆さんの会計年度は何月はじまりでしょうか??
日本の多くの会社は4月かと思います。
さて、冒頭記載した以下のケース。
皆さん、数式パッと出てきましたでしょうか??
例えば、2021年3月16日付の入社者の入社年度は「2020年度」となります。
この「2020年度」を「2021年3月16日」から求める場合はどのようにすれば良いのでしょう・・・?
答えは
=YEAR(EDATE([日付],-3))
です!
解説ですが、
EDATE関数とYEAR関数の複合技となります。
まず、
EDATE([日付],-3)
という関数は、[日付]を第二引数分の月数を演算することが可能です。
ここでは、「日付の月部分を3か月前にする」となります。
つまり、「2021/03/16」であれば、「2020/12/16」となるのです。
もう勘の良い人はお分かりですね。
このEDATE関数で求めた日付の「年」部分を取得すれば年度表示となります。
日付の年部分を取得するのは、「YEAR関数」です。
ということで、以下、オレンジ→緑のように計算がなされ、年度を取得できたということです。
=YEAR( EDATE([日付],-3) )
これ、地味に使える技術でして、最近使ったのは、「支給年月日から評価年度を取得する」というケースで、うちの会社では、FY2020の評価分を2021年6月の賞与支給日に支払うことになっています。
つまり、2021/06/10に支給される分は「2020年度」の評価ということになります。
これを数式で求めるには、どのようにしたらよいでしょうか。
正解は「=YEAR( EDATE([日付],-6) )」となります。
6月部分を6か月巻き戻すと、12月になりますよね。
12月は2020年です。この日付の年部分を取得すればぴったり年度を取得できます。
さいごに
ここでご紹介した数式はほんとによく使います。
ぜひ、利用してみてください!