- ベストアンサー
DATEDIF関数について教えてください。
DATEDIF関数を使って、勤続年数を算出したいのですが、期待した結果が得られません。 例えば、勤続年数が「満10年」の場合、切り上げで勤続年数を「11年」と表示させたいのですが、「10年」になってしまいます。 これは「切上げ<満年数」の方が優先されるという意味なのでしょうか。 ご指導をよろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
追記。 >例えば、勤続年数が「満10年」の場合、切り上げで勤続年数を「11年」と表示させたいのですが 何か勘違いしてませんか? 「満10年」とは、例えば 2000/11/11から2010/11/10まで 2000/2/29から2010/2/27まで などで、これは「勤続年数10年」です。 2000/11/11から2010/11/11まで 2000/2/29から2010/2/28まで などであれば「最終日が11年目の第一日目」なので「勤続年数11年」です。 なお、先ほどの回答の =DATEDIF(入社年月日,TODAY(),"Y")+1 では「入社年月日が閏年の2月29日で、今日の日付が閏年じゃない2月28日」の時にだけ、1年ずれてしまう(計算が狂う)ので =ROUNDUP(YEARFRAC(入社年月日,TODAY()+1),0) の式を使って下さい。 2つの式の計算結果の違いは「2000/2/29から2010/2/28まで」の時に発生するので試してみて下さい。 2010/2/28は「11年目の第一日目」なので「11」と計算するのが正しい筈です(DATEDIF方式だと10になってしまう)
その他の回答 (2)
- chie65536(@chie65535)
- ベストアンサー率44% (8754/19862)
EXCELの場合 =ROUNDUP(YEARFRAC(入社年月日,TODAY()+1),0) または =DATEDIF(入社年月日,TODAY(),"Y")+1
- f272
- ベストアンサー率46% (8529/18254)
満10年,つまりちょうど10年であれば切り上げても10年でしょう。 それを11年にしたいのであれば,+1日してから計算させましょう。
お礼
どうもありがとうございました。 参考にさせていただきます。
お礼
追記をいただき、ありがとうございました。 大変参考になりました。 教えていただいた計算式を使って早速、勤続年数を計算してみます。