プロが教えるわが家の防犯対策術!

まずタイトルじゃ分かりづらいので例を上げさせて下さい。

例)
A列/g(グラム)  B列/g
2    5
3    7
5    6
6    5

以上のような重量の物があるとします。A列とB列の数字をうまく組み合わせて、各組合せの合計の誤差が3g以内になるようにしたいです。
ここでは、(A列+B列)2+7=9, 3+6=9, 5+6=11, 6+5=11で組合せをとると、最大値11-最小値9=2なので条件を満たします。

まず、このような計算ができる(※組合せをさがす←重要!!)excelのマクロを作成したいです。

さらに、上の数値では条件を満たせないとき(最大値-最小値が4以上になる場合)は各組あわせの誤差が3g以内になるように不要な数字を省いて再度誤差が3g以内に入るようなセットを作れるようにしたいです。

説明ベタで分かりづらいと思いますが、賢いかたお助け願います。分からない場合は再度追加説明させていただきます。

よろしくお願いいたしますm(_ _)m

教えて!goo グレード

A 回答 (1件)

B列の値を並べ替えて、各行の(A列+B列)の和が近くなるようにしたい


ということでしょうか?
8個の数の合計は(A列の和)+(B列の和)で固定されているので、
各行の和が(8個の数の合計)÷4に近いようにしたいわけです。
質問文中の例で言えば、
(8個の数の合計)÷4={(2+3+5+6)+(5+7+6+5)}/4=9.75になります。
B列の値を(9.75−対応するA列の値)が小さい順にソートすれば
いいんじゃないでしょうかね。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

教えて!goo グレード

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング