【エクセル】物の割り振りの計算をエクセルで行いたいと思います。仮に物「A」が276個入ってくるとして、「イ」さんに5%、「ロ」さんに15%、「ハ」さんに35%、「ニ」さんに7%、「ホ」さんに18%、「ヘ」さんに20%の割合で割り当てます。そしてAは3月に31個、4月に123個、5月に122個入ってくるので、月ごとの割り振りも各人の割合によります。round(...)とやると小数点単位の端数の影響でぴたりといきません。数字は全て仮の数字なので、具体的な数値を求めているわけではありません。

できればエクセル関数の組み合わせのやり方を教えていただきたいのですが、難しいようならVBAの方法でも結構です。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/02/05 10:32:33
  • 終了:--

回答(3件)

id:typista No.1

typista回答回数359ベストアンサー獲得回数72006/02/05 11:08:41

ポイント35pt

エクセルでroundを使って、割合ごとの個数は出せる前提で、ぴたりといかせるためには、仮に「ヘ」さん以外は、割合で個数を決定し、残った分(入荷数-「ヘ」さん以外の合計)を「ヘ」さんにする方法だと思います。

(意図ズレてますか?)


考え方の問題になると思いますので、VBAを使ってもそれ以上の解決はないかと。

id:koinobori

ありがとうございます、その意図であってます。わかりづらくてすみません。確かにその方法でうまくいきそうですね。ただ、できれば合計が1つ足りないときに、端数0.4999と0.3333では0.4999の方に割り当てたいというのがあります。「イ」さんの割合と「ニ」さんの割合が同数だったときに2も端数が出てくることがあるので、それもなんとかしたいです。もう少し待ってみます。

2006/02/05 11:28:45
id:vegah No.2

vegah回答回数496ベストアンサー獲得回数22006/02/05 11:23:13

ポイント35pt

http://www.hatena.ne.jp/エクセル:detail]

全体数を各項目に按分するのは私も良くやりますが、確かに同じように問題が生じています。

そこで、各項目にROUND関数で四捨五入で計算して、最後の一項目だけは全体数から他の割振り数の合計を引く方法を使っています。

koinoboriさんの例では、「イ」から「ホ」については、割振り計算をして、「へ」は全体数から、「イ」~「ホ」の合計数を引きます。

この方法でいかがでしょうか。

id:koinobori

ありがとうございます。うーん、やはりそれがベストですかねえ。

2006/02/05 11:30:02
id:aki73ix No.3

aki73ix回答回数5224ベストアンサー獲得回数272006/02/05 11:29:56

ポイント35pt

roundではなく、floorを使って切り捨てた後、剰余を来月に回すシステムにすると、VBAを使わなくても実現できます


具体的にはURLにサンプルを作ったのでご覧下さい


ちなみに、VBAで実現するなら

floorで表示した数字と実際の(端数つき)の数値を・・・

1.引き算してその差が大きいひとからあまりを分配する方法

2.割り算してその差が大きいひとからあまりを分配する方法


があり、さらに前月の結果を反映されなかったひとのを繰り越すと、若干複雑なプログラムになりますね

id:koinobori

ありがとうございます。端数はある程度正確な割り当てはあきらめるほうがいいですかね。

おつくりいただいたエクセルファイル、参考にさせていただきます。

2006/02/05 12:45:41

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません