• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで複雑な退職金の計算をしたいのですが)

Excel2007で複雑な退職金の計算方法

このQ&Aのポイント
  • Excel2007を使用して複雑な退職金の計算を行いたいです。在職期間の算出方法や退職金の計算方法がわからず、お手上げ状態です。
  • 在職期間の算出にはDATEDIF関数を使用し、在職年数に端数がある場合は月割りで計算し、1ヶ月未満の端数は1ヶ月に切り上げます。退職金の計算には在職年月に基本給を掛け、係数を掛けて計算します。
  • しかし、在職期間の計算式では在職年数が12ヶ月を超える場合でも年に繰り上がらず、退職金の計算式がわからないため、正しい計算結果が得られません。Excel2007で複雑な退職金の計算方法を教えてください。

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

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.15

度々の訂正で申し訳ありません。 回答No.14の訂正です。 誤 年数(整数) =DATEDIF(A1,A2,"y")+INT(DATEDIF(A1,A2,"ym")+ROUNDUP(DATEDIF(A1,A2,"md")/100,0)/12) 正 年数(整数) =DATEDIF(A1,A2,"y")+INT((DATEDIF(A1,A2,"ym")+ROUNDUP(DATEDIF(A1,A2,"md")/100,0))/12) 1組の括弧が抜けていました。

maxgo
質問者

お礼

bunjiiさん有り難うございました。 年数、月数とも表示されました。 お手数をお掛けしました。

その他の回答 (14)

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.4

たびたびすみません さっき他で見たんですが なんかエクセル2007のDATEDIFにはバグがあるみたいですね。 https://www.google.co.jp/search?q=datedif+%E3%83%90%E3%82%B0&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a#hl=ja&q=%E3%82%A8%E3%82%AF%E3%82%BB%E3%83%AB2007%E3%80%80datedif+%E3%83%90%E3%82%B0&rls=org.mozilla:ja%3Aofficial =((YEAR(A2)-YEAR(A1))*12+MONTH(A2)-MONTH(A1))+(DAY(A2-A1)>0) こちらの式のほうがいいかもしれません。

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.3

補足追加です 切り上げた全月数は =DATEDIF(A1,A2,"m")+(DATEDIF(A1,A2,"md")>0) としたほうが短くていいですね。

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.2

> (2)在職年月に基本給を掛けて、更に係数を掛けて退職金を求める。 >  (○年+○ヶ月/12)×基本給×係数 となります。 が出せればいいんですよね。 =YEAR(A2)-YEAR(A1))*12+MONTH(A2)-MONTH(A1) で全月数が求められます。端数日数を1ヶ月単位に切り上げる部分は質問者さんの式を利用して =((YEAR(A2)-YEAR(A1))*12+MONTH(A2)-MONTH(A1))+(DATEDIF(A1,A2,"md")>0) として切り上げた月数を求めます。 以降上記の式そのまま書くと長くなるので、便宜上以後 X と表示します。 (○年+○ヶ月/12)×基本給×係数 の○年は =INT(X) で求められます。 ○ヶ月は =MOD(X) で求められます。 こういう出し方でいかがでしょうか。 各関数の意味はHELPなどで調べてくださいね。

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.1

> 在職期間 > 在職年数 > 在職年月 これらは別々のものなのか?同じものを指すのか?ってな所から、問題を整理した方が良いと思いますが。 > 在職期間 =DATEDIF(A1,A2,"y")&"年"&DATEDIF(A1,A2,"ym")&"ヶ月"&DATEDIF(A1,A2,"md")&"日"       ←この計算式で○年○月○日を計算しました。 > (1)の計算は次のように求めてみました。 >  =DATEDIF(A1,A2,"y")&"年"&DATEDIF(A1,A2,"ym")+(DATEDIF(A1,A2,"md")>0)&"ヶ月" せっかく質問文の上から3行目の式で在職期間の年、月、日を計算してるのに、改めてDATEDIFする必要は無いのでは。 3行目の式で在職期間を計算し、A3にでも入れたのなら、 A4に在職期間の年数 A5に在職期間の月数 A6に在職期間の日数 とかって数字を取り出せば、 A8に端数日数を切り上げた場合の月数 A7に端数日数を切り上げた場合の年数 が計算しやすいのでは? 式一本で書ければシンプルではありますが、エラーなんかがあっても原因が分かりづらいし、無理する必要性って無いと思いますが。

maxgo
質問者

お礼

早速のご回答ありがとうございます。 私も結局はご回答のような方法がベストかなと思いつつ、もう少し深入りした手立てを模索してしまいました。参考にさせて頂きます。ありがとうございました。

関連するQ&A

専門家に質問してみよう