[[20160621152146]] 『店舗ごとの給与算出』(yo) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『店舗ごとの給与算出』(yo)

一人の人物が複数の店舗で働いた場合の店舗別の給与を算出したいのですが、
小数点以下をどこかの店舗に入れたいのですが、自動で計算してくれる関数はありませんか?

TOTALの金額は決まっています。
店舗は4店舗あり、その店舗で働いた時間の割合で給与の各項目の金額を割って算出しています。
何店舗掛け持ちするかはその月、その人によって違いますが、最高で4店舗です。

例えば、
A店に33%、B店に17%、C店に50%、D店に0%の割合で入っていたとします。
基本給が\12850だとして、端数(小数点以下)が出てしまうので、
A店、B店、は切り捨ててC店に端数を入れたいのです。
端数はどこの店舗に入れても構わないのですが、TOTALが\12850になるようにしたいです。

< 使用 Excel:Excel2013、使用 OS:Windows10 >


A,B,D店は金額に割合を掛け、これをROUNDDOWNで切り下げ表示。
C店は金額からA,B,D店の値を引いたものにしてはいかがでしょうか。
(どれか1店を、金額から他の合計を引いたものにして、誤差を消す)
(???) 2016/06/21(火) 17:16

回答ありがとうございます。

教えていただいたのだと、どれか1店を合計から他の合計を引いたものにして誤差を消そうとすると、
他の月(またはほかの従業員)は指定したC店での勤務がない場合があります。

IF関数のような、C店の表示がなければB店で、B店がなければA店で誤差を消す。
というようなことはできるのでしょうか?
(yo) 2016/06/22(水) 20:09


 一案です。

 A3セル =IF(A2=0,0,IF(A2=1,$E$3,IF(COUNTIF($A2:A2,">0")=1,$E$3-SUMPRODUCT(INT(B2:$D2*$E$3)),INT(A2*$E$3))))

 D3までコピー

 <結果図>
  行  __A__  __B__  __C__  _D_  __ E __
   1  A      B      C      D     計     
   2  33%    17%    50%    0%   100%   
   3  4,241  2,184  6,425    0  12,850 

(半平太) 2016/06/22(水) 21:17


 単にこれでもよさそう。
      ↓
 A3セル =IF(COUNTIF($A2:A2,">0")=1,$E$3-SUMPRODUCT(INT(B2:$D2*$E$3)),INT(A2*$E$3))

 パーセンテージの合計が100%になるようなデータでやってください。

(半平太) 2016/06/22(水) 21:32


 端数はどこでも良いんですね。
 なら半平太さんの式で。
 失礼しました。(23:26)

 こんばんわ。

 私的には半平太さんの式の方がすっきりしてて良いので、切り捨てに拘らなければ、そちらをお勧めしますが、
 切り捨てに拘るなら、以下の式でしょうか。

      A     B     C     D      E
 1   A店   B店   C店   D店   基本給
 2   33%   17%   50%    0%    100%
 3  4240  2184  6426    0    12850

 A3セル =IF(A2<MAX($A$2:$D$2),INT($E$3*A2),$E$3-SUMPRODUCT(INT(($A$2:$D$2<>MAX($A$2:$D$2))*$A$2:$D$2*$E$3)))
 D3セルまでフィルコピー

(sy) 2016/06/22(水) 23:23


 syさんの式は、Maxに拘っていないですか?
 (もしくは、拘り方が足りないか、どちらか)

 Maxが2つあったらヤバそうな気がするんですが、、、

(半平太) 2016/06/23(木) 07:34


 To 半平太さん

 仰る通り、特に何も考えずMax多用してました。
 Maxの多用って何かまずい事ありそうですか?
 すいません。勉強不足でピンと来ないです。
 あまり使わない方が良いんですか?

(sy) 2016/06/23(木) 08:04


 すみません。余計な一言を入れてしまいました。お許しを m(__)m

 この種の問題は、端数をMaxにしわ寄せするのが常識的ですので(私もそう考えました)
 "同値問題"さえクリアできれば、何も問題ないです。

 ※今回は、切り捨て分のしわ寄せなので、気楽ですね。
  これが、切り上げ分のしわ寄せだと、マイナス調整なので、
  下手するとMaxだったハズが、そのセイで2位に転落するなんて
  事態にもなり得るので悩ましさが増します。

(半平太) 2016/06/23(木) 09:29


  >下手するとMaxだったハズが、そのセイで2位に転落するなんて
  >事態にもなり得るので悩ましさが増します。

 仰ってる意味が分かりました。
 そう言うケースを完全に失念していました。

 浅はかでした。
 ちゃんと考えないとダメですね。

 ありがとうございます。

(sy) 2016/06/23(木) 10:04


 いや、その、そんなに深い意味はないんです。
 もう、これで勘弁してください。

 syさんのような誠実な人に、軽口を叩いたのがまずかったです。

 > "同値問題"さえクリアできれば、何も問題ないです。

 これに尽きます。それだけです。

 端数調整は「どの店舗でもいい」なんて言う質問は結構珍しいです。
 まぁ、1,2円の話なので、妥当な仕様なんですけど、
 普通は「MAXの店舗で調整してくれ」と注文が付くもんなんです。
 そうすると「同値の店舗があったらどうするんですか?」と
 回答側が問いただすのがお決まりのパターンとなります。

 ところが、「妥当」と言うべきか「調子が狂う」と言うべきか、
 今回は「0%以外なら、どの店舗でもいい」となっています。

 すると、MAX店舗に限定するのは、回答側のおもてなし仕様となり、
 質問者に問いただす訳にもいかず、自分で"軽い"十字架を背負うことになります。

 初出のMAXにすべきか、最後尾のMAXにすべきか・・・
 ええい、初出の(左側優先の)MAX店舗にしてしまえー・・・・待てよ、
 それならMAXに拘ることもないか、初出のプラス店舗でいいんじゃない?

 私はそんな思考です。

 勿論、あくまで「MAXに拘る」こともできます。

 自分で同値問題の解決仕様を決めて、突き進む。
 それが完成すればよし。完成するまでは、
             ↓
 >(もしくは、拘り方が足りないか、どちらか)

 切りがないので、ノーレスでお願いします。

(半平太) 2016/06/23(木) 11:13


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.