オッズをそれぞれ何個買えば全体で2倍の利益が出るかを計算したいです。
エクセルでのやり方を教えてください。
まず、セルに1~20のオッズを入力します。
その後、別のセルに倍率の2を入力します。
その後の計算式の入力のやり方を教えてください。
例えばこんな感じに↓計算したいです(例、5件の場合)
全体の購入件数に対してそれぞれが2倍以上になるように計算したいです。
この場合だと、全体の購入件数24に対して一番オッズの低いAでも50になっているので
2倍以上になっています。2.5件買うとかはありませんので、例えば2よりも大きく3より小さい値が表示された場合には切り上げて3と隣の列にでも表示してもらえばいいです。
A 5 10倍(50)
B 10 5倍(50)
C 15 4倍(60)
D 20 3倍(60)
E 30 2倍(60)
合計購入件数24
回答
ID非公開:
数字が逆になっているのでは?
それだと80口ですし、どれが来てもマイナスです。
そのオッズだと調和平均が3.6くらいなので(5×2=10未満なので)、5種類買って、どれが来ても2倍以上の組み合わせがあるはずがありません。
A,B,C,D,Eをそれぞれ5,10,15,20,30口購入するのではなく、
それぞれ5,10,15,20,30倍のオッズで、10,5,4,3,2口買うということなのでしょうね。
しかし、それだったら、なぜ、4,2,2,1,1口ではないのでしょうか?
これで合計10口かつ、どれでも2倍以上(20以上)になると思います。
たとえば、A1,B1,C1,D1,E1にそれぞれのオッズが入っており
A2,B2,C2,D2,E2に購入するを求めるとします。
循環参照になってしまうので、2倍以上になる最小の組み合わせをワークシート関数だけで作るのは難しいとおもいます。
どれが当たった時の利益も同じになるようにするだけでしたら、
A2に
=LCM($A1:$E1)/A1
と入れて、E2までコピーすればいいです。
ただし、これは、利益が2倍以上になる最小値ではありません。
この例ですと、12,6,4,3,2になって、どれでも2.222….倍になってしまいます。
最小の購入口数を求めたいなら、ソルバーで、最小値を求めるようにすれば解けるとは思います。
制約条件として、各種類の購入数が1以上の整数、各種類の配当が2倍以上になるようにします。
とりあえず、A2:E2に適当に大きな数を入れておき、
F2に=SUM(A2:F2)*2
A3に=A1*A2を入れて、F3までコピーします。
あとはF2を目的セルとして、制約条件が
A2:E5 整数
A2:E5 >=1
A3:E3 >= F2
の3つ、これで解けるんじゃないかと思います。
もし解けないようなら、最大値の制約条件を追加して、エボリューショナリーエンジンで解けば解けるでしょう。