•  

助け合い

経理、労務、総務のことでわからないこと、利用者同士で助け合いを目的とした掲示板です。ルールを守ってご利用くださいませ。

勤続年数計算

質問 回答受付中

勤続年数計算

2007/07/13 23:39

nrkjmo

おはつ

回答数:4

編集

こんばんは。

社内で、勤続10年の社員に対して、表彰することになりました。
それで、経理のほうで、勤続年数の計算をすることになりました。
入社年月日から、10年経った方が対象なのですが、中には、産休や育休をとられた女子社員もいらっしゃって、その場合、その期間を差し引きして、計算することになりました。
まず、勤続年月数は、DATEDIF関数で求めました。

勤続年月数=CONCATENATE(DATEDIF(入社日,今月末日,"Y"),"年",DATEDIF(入社日,今月末日,"YM"),"ヶ月")

として、「○年○ヶ月」で算出しました。

次に、同じように、休暇期間を

=CONCATENATE(DATEDIF(休暇開始日,休暇終了日,"M"),"ヶ月",DATEDIF(休暇開始日,休暇終了日,"MD"),"日")

として、「○ヶ月○日」で算出しました。

勤続年月数「○年○ヶ月」から、休暇期間「○ヶ月○日」をマイナスして、実際の勤続年月数を求めたいのですが、なにか便利な方法はないでしょうか。
よろしくお願いいたします。

こんばんは。

社内で、勤続10年の社員に対して、表彰することになりました。
それで、経理のほうで、勤続年数の計算をすることになりました。
入社年月日から、10年経った方が対象なのですが、中には、産休や育休をとられた女子社員もいらっしゃって、その場合、その期間を差し引きして、計算することになりました。
まず、勤続年月数は、DATEDIF関数で求めました。

勤続年月数=CONCATENATE(DATEDIF(入社日,今月末日,"Y"),"年",DATEDIF(入社日,今月末日,"YM"),"ヶ月")

として、「○年○ヶ月」で算出しました。

次に、同じように、休暇期間を

=CONCATENATE(DATEDIF(休暇開始日,休暇終了日,"M"),"ヶ月",DATEDIF(休暇開始日,休暇終了日,"MD"),"日")

として、「○ヶ月○日」で算出しました。

勤続年月数「○年○ヶ月」から、休暇期間「○ヶ月○日」をマイナスして、実際の勤続年月数を求めたいのですが、なにか便利な方法はないでしょうか。
よろしくお願いいたします。

この質問に回答
回答

Re: 勤続年数計算

2007/07/18 14:22

nrkjmo

おはつ

編集

DISKYさん、いつもありがとうございます。

「kemikemi」自宅より、「nrkjmo」で投稿しております。

単位が違うので、やはり、引き算することはできないのですね・・・
また、1ヶ月は、30日であったり、31日であったり、うるう年もあったりして、DATEDIF関数では、それを正確に計算することはできないのですね・・・

年数と月数で分けて、求めればよいのですね!

ちなみに、ROUNDDOWN関数とMOD関数、まだ使ったことがなくて、よく分からないのですが、その通りにやったら、求めれました。

実勤続年数=ROUNDDOWN(((勤続年数-休暇年数)*12+(勤続月数-休暇月数))/12,0)

勤続年数から休暇年数をマイナスして、なぜ12をかけるのか、勤続月数から休暇年数をマイナスして、なぜ全体を12でわって、,0なのか、できれば、わかりやすくご説明いただければ、助かります。

MOD関数も同様で、
実勤続月数=MOD((勤続年数-休暇年数)*12+(勤続月数-休暇月数),12)

勤続年数から休暇年数をマイナスして、なぜ12をかけるのか、勤続月数から休暇年数をマイナスして、なぜ,12なのか、お教えいただければ、助かります。

面倒なお願いですが、できれば、よろしくお願いいたします・・・


DISKYさん、いつもありがとうございます。

「kemikemi」自宅より、「nrkjmo」で投稿しております。

単位が違うので、やはり、引き算することはできないのですね・・・
また、1ヶ月は、30日であったり、31日であったり、うるう年もあったりして、DATEDIF関数では、それを正確に計算することはできないのですね・・・

年数と月数で分けて、求めればよいのですね!

ちなみに、ROUNDDOWN関数とMOD関数、まだ使ったことがなくて、よく分からないのですが、その通りにやったら、求めれました。

実勤続年数=ROUNDDOWN(((勤続年数-休暇年数)*12+(勤続月数-休暇月数))/12,0)

勤続年数から休暇年数をマイナスして、なぜ12をかけるのか、勤続月数から休暇年数をマイナスして、なぜ全体を12でわって、,0なのか、できれば、わかりやすくご説明いただければ、助かります。

MOD関数も同様で、
実勤続月数=MOD((勤続年数-休暇年数)*12+(勤続月数-休暇月数),12)

勤続年数から休暇年数をマイナスして、なぜ12をかけるのか、勤続月数から休暇年数をマイナスして、なぜ,12なのか、お教えいただければ、助かります。

面倒なお願いですが、できれば、よろしくお願いいたします・・・


返信

回答一覧
表示:
No. タイトル 投稿者 投稿日時
0 nrkjmo 2007/07/13 23:39
1 DISKY 2007/07/17 10:21
2
Re: 勤続年数計算
nrkjmo 2007/07/18 14:22
3 DISKY 2007/07/18 16:12
4 nrkjmo 2007/07/19 00:47