- 締切済み
エクセル・ソルバー機能についての質問です。
ソルバー機能を使って解を求めています。 条件を”整数”とし、ソルバーを実行したところ、4.000001というような答えが出ました。解答レポートを作成してみると、4.000001という答えが出た部分は”ステータス”→”部分的に満たす”という表示でした。その他の答えで、きちっとした整数になっている部分の解答レポート・ステータスは”満たす”と書かれています。 条件を整数としているのにもかかわらず4.000001と小数点がついてしまうのはなぜでしょうか? 解答レポートの”部分的に満たす”の意味もあまり分かりません。 どなたかアドバイスお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- MackyNo1
- ベストアンサー率53% (1521/2850)
>何度か試してみたのですが、一度でうまくいく場合と、小数点が出てしまう場合があるのですが、ほかにどんな原因が考えられるのでしょうか? 初期値に(整数以外の)数値が入っていると、変化するセルには「精度」の範囲で整数に近い値で解が求められますので、最終的な値に端数が出る可能性があります。 例えば、すべてのセルを空白にしてからソルバーを実行するか、あるいは変化するセルの列幅を広げて整数以外の数値がないか調べてみてください。
- MackyNo1
- ベストアンサー率53% (1521/2850)
ソルバーはセルの値を少しずつ変化させながら、試行錯誤的に解を探すようなシステムになっています。 このとき、制約条件で「整数」を指定しても、精度の範囲での数値のブレは許容するようになっています。 したがって、変化するセルに整数の値を表示させたいなら、ソルバーダイアログの「オプション」をクリックして「精度」の欄を例えば「0.000000000001」のように十分に小さい数値を指定してみてください。
補足
回答ありがとうございました。 オプションを変えてみました。もう一度ソルバーを試してみましたが、数字が崩れてしまうという状態です。(やはり小数点の数値が出てしまいます) 何度か試してみたのですが、一度でうまくいく場合と、小数点が出てしまう場合があるのですが、ほかにどんな原因が考えられるのでしょうか?
お礼
回答いただきましてありがとうございました。 列幅を広げるなど試したことのないやり方でしたので参考になりました。 しかし何度も同じデータでソルバー機能をやり直したりしていたせいか、おっしゃったやり方でも思う通りの解は得られませんでした。再度データを入れなおしてソルバーを試してみようと思います。 ありがとうございました<m(__)m>