• ベストアンサー

エクセル 按分比率の合計

12,369円 という数字を A:11.30% B:60.61% C:13.71% D:14.38% (合計 100%) という比率で按分したいのですが お金のため小数点以下は出せません。 切捨てや四捨五入では按分した合計と 最初の金額が合いません。 比率は毎回固定ですが、最初の金額は日によって変わります。 ですから、最初の金額を入れなおすだけで、すぐ結果が出るようにしたいのです。 それでいて、どの人にも不利のないようしたいのです。 どうかご教授ください。

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

  • ベストアンサー
noname#40742
noname#40742
回答No.2

切り捨て方式をとられた#1さんの補足です。 トータルであと3円配り足りませんから、 E3:=SUM(A3:D3) A4:=$A$1*A2/100-A3 →セルD4までコピペ A5:=IF($A$1-$E$3<RANK(A4,$A4:$D4),,1) →セルD5までコピペ A6:=A3+A5 →セルD6までコピペ とすれば、6行目に残り3円もあわせて配る金額が表示されます。

onimusha110
質問者

お礼

マジ、ありがとうございました。 ちょっと、感動です。 あわせ技ですね、、、

その他の回答 (3)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.4

>どの人にも不利のないよう については人それぞれ考え方があるでしょうが、こんな考え方はどうですか。 12,369円に A:11.30% B:60.61% C:13.71% D:14.38% をかけて小数点以下を切り捨てると3円の余りが出ます。この3円は切り捨てた小数点以下の端数が大きい3人に1円ずつ加算します。 金額が変わって、端数が2円なら切り捨てた端数が大きな2人に1円ずつ加算します。 補助セルを使用すればご自分でもできると思いますが、一つの式にしてみました(補助セルを使用したり、式を見直せばもっと短くなると思いますが…) まずは以下に指定したセルに値を入れてください。 A2セルに金額(12,369)を入れます B1セルに11.30%(0.113)、C1セルに60.61%(0.6061)、D1セルに13.71%(0.1371)、E1セルに14.38%(0.1238) B2セルに以下の式を貼り付けます =IF($A$2-SUMPRODUCT(INT($A$2*($B$1:$E$1)))=0,$A$2*B$1,INT($A$2*B$1)+($A$2*B$1-INT($A$2*B$1)>=LARGE(INDEX(($A$2*$B$1:$E$1)-INT($A$2*$B$1:$E$1),),$A$2-SUMPRODUCT(INT($A$2*($B$1:$E$1)))))) B2セルを右方向にE1までコピーします するとB2=1398、C2=7497、D2=1696、E2=1778 となり、小数点以下の切り捨て額が大きな3人に1円加算された結果となります。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.3

お金の計算に限らず、按分計算で合計が100%にならないことは通常よく発生します。 そのような場合、実務上一般的には、最大の比率のところで端数を調整します。

onimusha110
質問者

お礼

まあおっしゃることはわかるのですが、、、 ご意見ありがとうございます。

  • newbranch
  • ベストアンサー率30% (319/1053)
回答No.1

A1 12369円(セルの書式でG/標準"円"とする) A2 11.3 B2 60.61 C2 13.71 D2 14.38 A3=INT($A$1*A2/100) B3=INT($A$1*B2/100 C3=INT($A$1*C2/100) D3=INT($A$A*D2/100) A3~D3までに整数で表示されます。 A1の数字を変えればA3~D3に計算された値で表示されます。      

onimusha110
質問者

お礼

早速のお返事ありがとうございます。 ただ、合計が3円足りないのでは、、、 やっぱり、ちょっと無理がありましたでしょうか

関連するQ&A