• 締切済み

OFFICE2007のソルバーを使ってみえる方教えてください。

マイクロソフトのホームページによれば、「EXCEL2003では、対象セルにIF関数などが使われている場合は変数の最適値が求められない現象が起きる」と記載されていますが、OFFICE2007では、この現象は解消されているのでしょうか?どなたかOFFICE2007でソルバーを利用されている方、お教えいただけないでしょうか?よろしくお願いします。]の結果がみつかりませんでした

みんなの回答

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.1

例えば、 変化させるセル:A2 目的のセル:A1 =IF(A2=1.23456789,2,SIN(A2)) 最適解は、 A2=1.23456789の時、最大値は2です。 が、たまたまこの値が見つかるような事は殆ど無く、 A2=1.57079566502043の時、最大値は1として見つかります。 -- > OFFICE2007では、この現象は解消されているのでしょうか? ソルバーの動作処理は同じですので、解決していません。 処理上の問題ですから、将来にわたっても解決させないでしょう。 ソルバーでない機能として、あるいはソルバーの拡張機能としてGAなどの曖昧さを持った数値探索機能を実装とかならあり得ますが。

osoyo
質問者

お礼

大変参考になりました。neKo_deuxさん、ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excelのsolver実行の手間を省きたい

    Excel2000上でソルバーを使って関数のパラメータの最適値を求める作業をできるだけ自動的にできないでしょうか。 例えば、関数が一つだとしても、それを当てはめるべきデータのリストが100個あれば、ソルバーを手作業で100回実行しなければなりません。特に同じワークシートのなかで全ての作業を済ませようとすると、1回ごとに「目的セル」や「変化させるセル」を指定しなければなりません。当てはめを行うワークシートを独立に用意すればソルバーの実行自体は簡単になるかもしれませんが、そこにデータリストをコピーし結果をどこかに保存する手間がかかります。さらに、エクセルのマクロではソルバーは使えないと聞いております。なんとかならないものでしょうか。(OS:WindowsME)

  • ソルバーのマクロ組み込みについて

    2つ質問がございます。 一つはExcel2003にてソルバーをマクロに組み込みたく、Visual Basicのツール>参照設定>参照にいきsolver.xlaのファイルを探せど見つからずに困っております。 二つ目は、過去の質問(質問者:Curtis様。参照:http://okwave.jp/qa350463.html)で 「Excel2000上でソルバーを使って関数のパラメータの最適値を求める作業をできるだけ自動的にできないでしょうか。 例えば、関数が一つだとしても、それを当てはめるべきデータのリストが100個あれば、ソルバーを手作業で100回実行しなければなりません。特に同じワークシートのなかで全ての作業を済ませようとすると、1回ごとに「目的セル」や「変化させるセル」を指定しなければなりません。当てはめを行うワークシートを独立に用意すればソルバーの実行自体は簡単になるかもしれませんが、そこにデータリストをコピーし結果をどこかに保存する手間がかかります。さらに、エクセルのマクロではソルバーは使えないと聞いております。なんとかならないものでしょうか。」 とありますが、上記の内容をVBAでプログラムを組み、自動化することは実際可能なのでしょうか?可能であればどのように組むのでしょうか? ご面倒とは思いますがよろしくお願い致します。

  • excelのソルバーがロードエラー

    excel2010の調子が悪かったので、修復セットアップをしたところ 今度はアドインのソルバーが使用不能になりました。 ソルバーのチェックボックスをオンにするとvisual basic for appliから 「ロード中にエラーが発生しました」とエラーが出ます。 機能の追加でソルバーを削除して、再度追加しても現象変わらず。 仕方ないのでoffice2010をアンインストール後、再インストールしても なぜか結果は同じ。 どうすれば直るのでしょうか

  • excelのソルバーについて質問です

    [ソルバー:パラメータ設定]ダイアログボックスの[変化させるセル]にセル範囲を設定しましたが、ソルバーを実行した結果のそのセル範囲の数値が正答例と極僅かですが異なってしまうんです [ソルバー:パラメータ設定]ダイアログボックスの設定は全て正答例と同じになってるのですが・・・ ソルバーの場合はこんなふうに誤差が起きるもんなんでしょうか? ちなみにこれはサーティファイのExcel表計算処理技能認定試験1級の勉強中に起こった疑問です

  • EXCELのソルバーで関数を使う

    EXCELのソルバーを使うとき、目的関数のセルにエクセルの関数が入っていても解いてくれるんでしょうか? 行列の積、MMULTを目的関数のセルに入れたのですがうまくいかなくて。(変数の行列と定数の行列の積です) もしうまく行かない場合、A1*A5+A2*A6+… みたいな式を、効率よくだす方法はないでしょうか? まぁ10*10の行列なんで、コツコツやればすむんですが…

  • ソルバーの解が最適値を示さない

    タイトルの通り、エクセルのソルバー機能を使用してある反応の速度係数と算出しようとしたところ、フィッティングされません。 最小二乗法によりソルバーを動かすと添付図のように最適化条件を満たししていますと出るのですが、どう見てもあっていません。 ソルバー機能上このようになるのか、フィッティング関数の性質上このようになってしまうのかがわかりません。 どなたかこの症状に詳しい方がいらっしゃれば、ご教示いただきたいです。 下記想定で行っています 実験値セル:B3*exp(-B4*A6)*{1+RAND()/5} 計算値セル:C3*exp(-C4*A6) 残差:{(実験値セル)-(計算値セル)}^2 残差平方和:SUM(D列) ソルバー条件 目的セル:E6(残差平方和)を最小値 変数セル:C3:C4 制約なし(制約なしを非負数とするのみ)

  • Excelソルバー相当のライブラリはありませんか?

    Excelソルバー http://office.microsoft.com/ja-jp/excel/HP051983681041.aspx を離散データに対する最小二乗法による曲線推定に使っています。アルゴリズムはGRG2(Generalized Reduced Gradient)で、少し調べたところ、準ニュートン法や共役勾配法も選択できるようです。 このExcelのソルバーは大変有効ではあるものの、今は手作業で推定しなければならないため、オンライン化(phpからコール)したいと思っています。 Excelソルバーに相当する、準ニュートン法や共役勾配法等の非線形最適化プログラムのフリーなCソースはどこかにあるでしょうか?できればphpからコールしたいのですが、なければCソースをなんとかしようと思っています。 ここ http://www.sist.ac.jp/~suganuma/kougi/other_lecture/SE/opt/nonlinear/nonlinear.htm#2.2 でソースを見つけましたが、偏微分関数も与えなければならないようです。Excelソルバーでは離散データのみを与えます。 どなたかご教示いただければ幸いです。

  • what-if?ソルバー?適切な方法を教えて下さい

    excel関数についての質問です。 スターデューバレーという農業ゲームのデータをサンプルにしてエクセルの練習をしています。 ゲーム内でいかに効率的に利益をあげるか計算する表を作りたいのですが方法がわかりません。 是非ご教授ください。 ■したいこと ・所持金15000円以内という制限(※緑セル) ・利益を最大にする(※緑セル) ・種の購入個数の最適内訳を計算したい(※黄色セル) ■試したこと ・ソルバーアドインを使えばできるか?と考えたましたが 実行時エラー1004「アプリケーション定義またはオブジェクト定義のエラーです」と表示されます スマートな計算方法があれば是非教えていただけますと幸いです。 何卒よろしくお願いいたします。

  • VBAでの、マクロ参照をするソルバー

    ソルバー中の変数が、マクロを実行した値の場合はどのようにすればいいのでしょうか? たとえば操作するセルを変えても、あるマクロを実行しないと目的のセルが変わらない場合です。 solversolveのshowrefを利用して以下のように書きましたが、最適化はされたと表示されますがマクロを実行してくれませんでした。 Sub Macro() SolverReset SolverOk SetCell:="$C$17", MaxMinVal:=1, ValueOf:="0",   ByChange:="$B$17:$B$18" SolverOptions MaxTime:=900, Iterations:=900, Precision:=0.01, AssumeLinear:= _ False, StepThru:=True, Estimates:=1, Derivatives:=1, SearchOption:=1, _ IntTolerance:=10, Scaling:=False, Convergence:=0.1, SolverSolve UserFinish:=False, ShowRef:="macro1"

  • Excel表検索の手立てについて

    Excel2010で、以下のような表があります    A    B   C   D 1  90  80  70  60 2  85  75  65  55 3  80  70  60  50 ここで、セルA5に「行=2」という「位置の変数」と セルA6に「点=70」という「得点の変数」が与えられています。 この値から、「列=B」(得点の直上の値)という結果(列=2という結果でも可) を得たいのですが、うまいこと関数で何とかならないでしょうか? なにせ、上記は例でしかなく、実際の表は縦30×横26なのでIFを並べるわけにも いかないんです。 行が固定ならMATCH関数で簡単にできるんですが・・・。