Excel2007で次の退職金の計算をしたいのですがご教授願います。
起算日 A1
退職日 A2
在職期間 =DATEDIF(A1,A2,"y")&"年"&DATEDIF(A1,A2,"ym")&"ヶ月"&DATEDIF(A1,A2,"md")&"日" ←この計算式で○年○月○日を計算しました。
その後次の計算が必要になります。
(1)在職年数に端数がある時は月割りで計算し、1ヶ月未満の端数は1ヶ月に切り上げる。
端数日数を1ヶ月単位に切り上げ、○年○ヶ月を求めます。
(2)在職年月に基本給を掛けて、更に係数を掛けて退職金を求める。
(○年+○ヶ月/12)×基本給×係数 となります。
そこで(1)をトライしてみましたが、(2)の方法がわからないので、(1)の検証もできません。
(1)の計算は次のように求めてみました。
=DATEDIF(A1,A2,"y")&"年"&DATEDIF(A1,A2,"ym")+(DATEDIF(A1,A2,"md")>0)&"ヶ月"
この計算では在職期間が○年11ヶ月○日となった場合、求めた在職年数は○年12ヶ月となってしまい、年に繰り上がりません。従って(2)の方法に影響が出そうですが、(2)の方法自体がわからないのでお手上げ状態です。
(1)と(2)、あるいは最初の方法からからでも構いませんので、ご教授を頂きたいと思います。
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に端数日数を切り上げた場合の年数
が計算しやすいのでは?
式一本で書ければシンプルではありますが、エラーなんかがあっても原因が分かりづらいし、無理する必要性って無いと思いますが。
早速のご回答ありがとうございます。
私も結局はご回答のような方法がベストかなと思いつつ、もう少し深入りした手立てを模索してしまいました。参考にさせて頂きます。ありがとうございました。
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などで調べてくださいね。
No.4
- 回答日時:
たびたびすみません
さっき他で見たんですが
なんかエクセル2007のDATEDIFにはバグがあるみたいですね。
https://www.google.co.jp/search?q=datedif+%E3%83 …
=((YEAR(A2)-YEAR(A1))*12+MONTH(A2)-MONTH(A1))+(DAY(A2-A1)>0)
こちらの式のほうがいいかもしれません。
No.5
- 回答日時:
またまた ごめんなさい
DAY(A2-A1)はダメでしたすみません。
代替の式は
http://www.geocities.jp/chiquilin_site/data/1005 …
を参考にしてみてください。
kmetuさん、本当に色々試して下さり有り難うございます。バグ情報も助かります。目下色々なご回答を頂き試しているところです。取りあえず御礼申し上げます・
No.6
- 回答日時:
こんばんは!
>在職年数に端数がある時は月割りで計算し、1ヶ月未満の端数は1ヶ月に切り上げる。
すなわち「起算日」と「退職日」の日付部分が同じ日以外はすべて切り上げと考えてみてはどうでしょうか?
そういった方法での一案です。
↓の画像のA4セルに
=IF(DAY(A1)=DAY(A2),DATEDIF(A1,A2,"Y")&"年"&DATEDIF(A1,A2,"YM")&"ヶ月",DATEDIF(EDATE(A1,-1),A2,"Y")&"年"&DATEDIF(EDATE(A1,-1),A2,"YM")&"ヶ月")
という数式を入れています。
「起算日」の日付と「退職日」の日付が異なる場合は「起算日」の1か月前からの計算としています。
A5セルはA4セルの文字列を利用して
=LEFT(A4,FIND("年",A4)-1)*12+MID(A4,FIND("年",A4)+1,FIND("ヶ月",A4)-FIND("年",A4)-1)
という数式を入れています。
後はA5セルの数値を利用して
A5×基本給×係数
としてみてはどうでしょうか?m(_ _)m
tom04さん、ご回答有り難うございました。
早速試して見ました。
端数日数を切り上げる事に成功しました。
但しA5セルは月数の和を求めるのでなく、あくまで「年」と「月数」を出して計算します。
そうしないと、「月数の合計×基本給」になってしまい、大変な金額になってしまいます。
またNo.8のbunjiiさんのご指摘通り、「入社日と退職日は在職日数に含む」とすれば、求めた在職日数が-1日になってしまい悩んでいます。
No.7
- 回答日時:
No6さんの考え方「「起算日」と「退職日」の日付部分が同じ日以外はすべて切り上げ」もいいかもですね。
とすればDATEDIFを使わない方法としては
=((YEAR(A2)-YEAR(A1))*12+MONTH(A2)-MONTH(A1))+(DAY(A2)<>DAY(A1))
もありかも
ただ、起算日2013/1/31退職日2013/2/1で2ヶ月と計算されてしまいますが…
kmetuさん、度々のご回答有り難うございます。
最後の「…2ヶ月と計算されてしまいますが」は困ってしまいますね。。残念です(T-T)
No.8
- 回答日時:
>この計算では在職期間が○年11ヶ月○日となった場合、求めた在職年数は○年12ヶ月となってしまい、年に繰り上がりません。
基本的なことだけお伝えします。
日付の計算には0日がありませんので期間の計算に日付の値を使うことで思わぬ落とし穴に落ちます。
あなたが使っているDATEIF(A1,A2,"ym")は年と月の値で差を求めています。
従って端数の扱いはできません。
また、日数の計算でDATEIF(A1,A2,"md")としていますが、この式では起算日が含まれませんので、入社日の前日を起算日にしなければならず、誤解を招きます。(入社日と退職日は在職日数に含む)
端数繰り上げはROUNDUP関数を使うと余分な手数を必要としません。
A1セルに入社日、A2セルに退職日が入力されているとして
勤続年数(端数切捨て)=ROUNDDOWN(YEARFRAC($A$1,$A$2+1,1),0)
端数月数(端数繰り上げ)=ROUNDUP(MOD(YEARFRAC($A$1,$A$2+1,1),1)*12,0)-1
貼付図の上は勤続年数を算出したセルの状態です。
同じく下は端数の月数を算出しています。
後はあなたの応用力次第です。
bunjiiさん、ご回答有り難うございました。
ご指摘通り「入社日と退職日は在職日数に含む」を考慮し試して見ました。
A1セルに2012/8/29
A2セルに2013/8/28 と試したところ、D3が「-1」となってしまいました。
ROUNDUP関数のコマンド自体がわかりませんので、原因がつかめません。
またご回答頂きましたA3セル(在職期間)の関数は何を使われたのでしょうか?
よろしくお願いします。
No.9
- 回答日時:
No.6です。
まず
>「入社日と退職日は在職日数に含む」とすれば、求めた在職日数が-1日になってしまい悩んでいます
の件について
入社日・退社日も含むのであれば、入社日の1日前からの計算にしてみてはどうでしょうか?
=IF(DAY(A1)=DAY(A2),DATEDIF(A1,A2,"Y")&"年"&DATEDIF(A1-1,A2,"YM")&"ヶ月",DATEDIF(EDATE(A1-1,-1),A2,"Y")&"年"&DATEDIF(EDATE(A1-1,-1),A2,"YM")&"ヶ月")
といった感じになります。
次に
>月数の合計×基本給」になってしまい、大変な金額になってしまいます。
について・・・
おそらく前回の結果を12で割ったもので計算すればお望みの数値になると思いますが、
敢えて、その数値をセルに表示させるとすれば
=LEFT(A4,FIND("年",A4)-1)+MID(A4,FIND("年",A4)+1,FIND("ヶ月",A4)-FIND("年",A4)-1)/12
ではどうでしょうか?m(_ _)m
tom04さん、有り難うございました。
端数切り上げの(入社日・退職日を含む)問題、解決しました。
もう一つ教えて下さい。
この時のA3セルの在職期間について、入社日の1日前からとする場合、式のどこに-1としたら良いのでしょうか?
金額計算について、「おそらく前回の結果を12で割ったもので計算すれば…」ご指摘の通りです。
お恥ずかしい限りですm(_ _)m 単純な事でした。難しく考えすぎていました。
丁寧なご指導有り難うございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 現時点の年齢を算出して、その年齢と一致したセルを色付けしたい。 4 2022/06/23 17:49
- Excel(エクセル) Excelの計算式の意味が知りたい 3 2023/06/19 17:49
- Excel(エクセル) 至急です><Excelの関数を教えてください。 2 2022/03/22 17:56
- Excel(エクセル) エクセルで2度にわたる休職期間を除いた勤務年数を算出したいです。 3 2022/05/11 14:11
- Excel(エクセル) EXCEL 計算結果の桁数をそろえたい。 5 2022/12/25 18:33
- Excel(エクセル) 前の(左隣の)シートを連続参照するように、あとから変更したい 1 2023/02/22 00:51
- その他(お金・保険・資産運用) 退職金制度に加入しているにも関わらず退職金が5万円しかないってどーゆう計算方法になりますか?? 彼が 7 2023/08/03 19:36
- Excel(エクセル) エクセルの関数に関しての質問です。 5 2022/10/07 11:17
- 雇用保険 雇用保険の基本手当の額の計算方法は 「算定対象期間において被保険者期間として計算された最後の6ヶ月間 4 2023/01/18 14:24
- Excel(エクセル) Excelで、昭和の西暦換算 6 2023/03/23 11:29
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
エクセルで2度にわたる休職期間を除いた勤務年数を算出したいです。
Excel(エクセル)
-
エクセルで退職金の計算式を作成したいのですが・・・
Excel(エクセル)
-
エクセルで期間から期間を引く方法を教えてください
Excel(エクセル)
-
-
4
エクセルで期間から期間を足したり引いたりする方法を教えてください
Excel(エクセル)
-
5
エクセルで勤続年数に応じたポイントを出したい
Excel(エクセル)
-
6
半年単位で勤続年数を算出する式
Excel(エクセル)
-
7
エクセルで日数から年月への変換
Excel(エクセル)
-
8
エクセルで年月の合計の関数を教えてください。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
MicrosoftOfficeの1ユーザー2...
-
MicrosoftOffice2019なんですが、
-
Microsoft 365のディフェンダー...
-
英数字のみ全角から半角に変換
-
Excel 日付を比較したら、同じ...
-
Microsoft Officeを2台目のPCに...
-
Microsoft365の「お支払いを更...
-
会社PCのメールが更新されない
-
エクセル関数について
-
エクセルのシフト表を簡単にGoo...
-
ウィンドウィズ メモ帳で日付だ...
-
会社のTeamsのことで相談です。...
-
バソコンが二台とも壊れ後換装...
-
Microsoft Formsの「個人情報や...
-
複数の写真を1枚に印刷
-
Formsにて、匿名にて回答する方...
-
パソコン画面の中の小さい画面...
-
マイクロソフト 一時使用コード...
-
MicrosoftOfficeについて質問で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
【スプレッドシート】指定の日...
-
英数字のみ全角から半角に変換
-
会社PCのメールが更新されない
-
マイクロソフト 一時使用コード...
-
Office 2021 Professional Plus...
-
エクセルで例えば、関数を使っ...
-
Microsoft Formsの「個人情報や...
-
1つのPCに「Excel 2010」「Exc...
-
エクセルで例えば、A1に㈱ベ...
-
理由を教えてください。
-
エクセルでXLOOKUP関数...
-
マイクロソフト オフィスについて
-
VLOOKUP関数について
-
teams設定教えて下さい。 ①ビデ...
-
Googleのスプレッドシートでシ...
-
【Excel VBA】PDFを作成して,...
-
Microsoft365で写真をアルバム...
-
Outlook で宛先が複数の場合の人数
-
Excel テーブル内の空白行の削除
おすすめ情報