• ベストアンサー

DATEDIF関数について教えてください。

DATEDIF関数を使って、勤続年数を算出したいのですが、期待した結果が得られません。 例えば、勤続年数が「満10年」の場合、切り上げで勤続年数を「11年」と表示させたいのですが、「10年」になってしまいます。 これは「切上げ<満年数」の方が優先されるという意味なのでしょうか。 ご指導をよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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になってしまう)

waonnyaon
質問者

お礼

追記をいただき、ありがとうございました。 大変参考になりました。 教えていただいた計算式を使って早速、勤続年数を計算してみます。

その他の回答 (2)

回答No.2

EXCELの場合 =ROUNDUP(YEARFRAC(入社年月日,TODAY()+1),0) または =DATEDIF(入社年月日,TODAY(),"Y")+1

  • f272
  • ベストアンサー率46% (8529/18254)
回答No.1

満10年,つまりちょうど10年であれば切り上げても10年でしょう。 それを11年にしたいのであれば,+1日してから計算させましょう。

waonnyaon
質問者

お礼

どうもありがとうございました。 参考にさせていただきます。

関連するQ&A

専門家に質問してみよう