• 締切済み

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

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

みんなの回答

  • f272
  • ベストアンサー率46% (8018/17137)
回答No.2

#1さんと同じなのだが変数セルの変更のところは,$L$13:$L$22だと思う。 でもこれだけでは,ルバーブが150個であとは全部0個という結果になる。 本当にこんな答えでいいの? 制約条件の対象として,例えば $M$23<=$D$10 も追加すべきなのではないですか?

  • kkkkkm
  • ベストアンサー率65% (1620/2459)
回答No.1

> 実行時エラー1004「アプリケーション定義またはオブジェクト定義のエラーです」と表示されます 変数セルの設定が変な気がしますが $L$13:$L$22 ではないでしょうか。

関連するQ&A

  • エクセル・ソルバーのエラーについて

    ガン細胞(正確に言うと、前骨髄性白血病細胞HL-60)を使った 活性試験の結果を算出する際に、 IC50を求めているのですが その過程でソルバーを使用していたところ エラーになってしまい、 何が問題なのか分からないので 質問させていただきます。 活性試験は、 吸光度570nmと595nmを測定した結果を元に、 増殖率を算出した後、 これをIC50を求めるのに使用しています。 IC50を求める際には、 サンプル濃度(式中ではXとしています)は それぞれ50、12.5、3.13、0.78ppmの4段階で、 yを増殖率(%)としています。 aとbを変化させるセルとしてもうけ、 最初は適当な正の値を入れています。 そして各数値を、それぞれ以下の式に入れ、計算していきます。 f(x)=100/{1+a*(x^b)} {y-f(x)}^2 {y-f(x)}^2の合計←ここで、aとbを変化させて、この値が最小となるようにする(Solver) 以上のような手順を踏むと 通常ならば IC50=a^(-1/b) が求められるのですが、 ソルバーを用いて算出したところ、 一部のデータで#DIV/0や#NUM のエラーが生じてしまいました。 エラーが出てしまった原因や 解決する手段があればぜひアドバイスよろしくお願いします。

  • エクセルのソルバーの制限条件

    化学関係の計算でエクセルのソルバーを使って最適解を求めようと思って使ってみました。 式自体は二つ。 変数は3つ(α、β、x)です。 (数学が専門でないので、変数と言って良いのかわかりませんが、要は文字です。) このうちxを決めるとα、βは自動的に決定されます。 問題では、α+βが最大となるxの値を求めたいのです。 二つの式はその3つの変数の絡んだ式で、両方とも=10となります。 xは4以下です。 一応、化学の計算ですので、すべてにおいてマイナスはありえません。 この条件でソルバーを使おうと思って、 α、β、xをあらわす空のセルを設けて、二つの式を別のセルに書きました。 もちろん、割り算が絡んでるのでエラーですが。 さらに、α+βのセルも作りました。(ココにはα+βの式が入力されています。) 目的セル→α+β 変化させるセル→x ここまでは問題ないのですが、制限条件で、 xを4以下や、二つの式を=10と言うのがエラーになるようです。 エクセルのトラブルシューティングでは、以下のように書かれていました。 [制約条件の追加] または [制約条件の変更] ダイアログ ボックスに無効な名前や数式を入力したか、または [制約条件] ボックスに"整数"や"バイナリ"を入力しました。制約条件を整数にするには、比較演算子の一覧の [区間] をクリックします。バイナリを設定するには、[データ] をクリックします。 どういう意味でしょうか? 比較演算子の一覧というのはどこにあるのでしょうか? 文がめちゃめちゃですが、よろしくお願いします。

  • エクセルで、例えば”弁当”@”個”と入力した後、個数を合計する方法

    質問をご覧になっていただきありがとうございます。 例えば、セルの書式設定のユーザー定義で、 ”弁当”@”個” と入力すれば、任意の数字を入れるだけで、 1をセルに入れたとすれは、「弁当1個」と表示されますよね。 この弁当を売り上げた個数を一発で計算したいのですが、 通常の数字だけなら、合計したい範囲の弁当の個数の列を選択し、 Σを押せば範囲指定されて、エンターを押せば合計の個数がでるのですが、 ユーザー定義で作った文字は範囲指定してΣを押しても合計されません。 ユーザー定義で作った数でも列の合計を出す方法を教えていただけると助かります。 明日仕事で使いたいので焦ってます。どうかよろしくお願いします。

  • Excel VBA で、コードにて参照設定する方法

    Excelで、開いた時に「OPEN」プロシージャにて、あるDLLの参照設定(SOLVER32.DLL)を行いたいのですが、以前のQ&Aで記載されていた方法で行おうとするとエラーが発生し、うまくいきません。 どなたか方法をご存知の方おりましたら、よろしくお願いします。 (環境) Windows XP SP2 Excel 2003 SP2 (コード) Private Sub Workbook_Open() ThisWorkbook.VBProject.References.AddFromFile "c:\SOLVER32.DLL" End Sub (エラー内容)  実行時エラー'1004'  アプリケーション定義またはオブジェクト定義のエラーです。 以上

  • EXCEl:ユーザー定義関数をLANで共有する方法

    LANに接続しているユーザーでVBAを共有する仕組みを以下のように構築しています。 == サーバー環境 == VBAはアドイン(Addin.xla)としてサーバー(\\SvA)に保存。 サーバーがもう1つあり(\\SvB)、Addin.xlaは、\\SvAから \\SvBに定期的にコピー。 \\SvAと \\SvBは、物理的に距離が離れているため、1つにできません。 == クライアント環境 == クライアントPCの XLSTARTフォルダには、Addin.xlaのショートカットを置く。 \\SvAのユーザーであれば、\\SvA\Addin.xlaへのショートカット、 \\SvBのユーザーであれば、\\SvB\Addin.xlaへのショートカットです。 Addin.xlaに変更があった場合に \\SvA\Addin.xlaを更新するだけなので、この方法を採用し、うまく運用できているのですが、ユーザー定義関数をワークシートで使用したいということになって、ハマってしまいました。 \\SvAのユーザーがユーザー定義関数 User1()をワークシートに =User1()と書き込んで他のユーザーにブックを配布しました。 \\SvAのユーザー間では問題なくブックを使用できますが、\\SvBのユーザーがそのブックを開くと 「このブックには、ほかのデータソースへのリンクが含まれています。」というメッセージが表示されます。 ここで、更新を選択すると、 「このブックには更新できないリンクが1つ以上含まれています。」というメッセージが表示されます。 ここで、継続を選択すると、 ユーザー定義関数が入力されたセルは #NAME? エラーが表示されます。\\SvBのユーザーのワークシートでは、ユーザー定義関数が ='\\SvA\Addin.xla'!User1()となっています。 この問題を解決する方法がないでしょうか。よろしくお願いいたします。

  • エクセルのエラー表示の個数

    エクセルのエラー表示の個数 エクセルで自動計算させた結果が正しく計算されてないと、 #N/Aや#DIV/0!などのエラー表示がでます。 指定された範囲に対し、こういったエラー表示がされているセルの個数を算出する関数を知りたいです。 知っている方いましたらお願いします。

  • if 関数について

    「もし、セルa1に何かの数値が入力されたら、a1×b1を計算して、その結果を表示せよ」という場合の関数は、=IF(a1="","",a1*b1)だと思います。 この数式を下方のセルにコピーすると=if(a2="","",a2*b2)となってしまいますが、計算式の+a1×b1の部分を変えたくない場合は、どうすればよいのでしょうか? 【この関数式の使用方法】 毎日変動する株価による自分の利益(又は損失)を一覧表にしたい。 a1の数値は、毎日変動する株価です。(だから、コピー結果a2 a3 a4 と変化しても良い。) b1の数値は、自分の所有する株数です。(株の所有数は変わらない) 従って、変動するのは毎日の株価と計算結果だけということになり、自分の所有株数(b1の値)が入力されているセルの場所が変わっては困るのです。 以上、よろしくお願いいたします。

  • excel2013 起動できません

    以下の状況です。 win10で、excel2013を起動する方法、確認する点等をご教示お願いします。 1.当初の現象 excel2013を起動操作すると、緑色の起動画面が現れ、 その画面下の表示が、 solver.xlam(100%)⇒funcres.xlam(100%) までは変わりますが、1日以上そのままです。 2.現象発生1か月程度前から excelの起動に、数分時間がかかる状態が続いていた。 3.PC環境 dynabook sateliite B363/21KB PB36321KSVBW 購入時 WIN8.1 microsof office 2013プリインストール版 (この時のリカバリーはCDに取っています。) その後、WIN10に、無償アップグレード 上記1項の現象後、下記を実施。 4.システム復元 但し、復元できず、エラー0x80???05 (エラー画面保存していましたが、保存場所を失念) 復元を戻す選択をしたが、戻すこともできず、 同じエラーが発生。 5.microsoft office のクイック修復、オンライン修復 実施したが、現象変わらず。 6.excel をセーフモードで立ち上げ アドインの内、分析ツールとソルバーアドインがONだったので OFFにし、PC再起動したが、 通常モードの起動できず、1項と同じまま、 セーフモードは起動できるが、アドインはOFFにならず。 繰り返しても、変わらず。 7.上記6項を繰り返し、ながら、さらに、上記の4項、5項を繰り返す内、分析 ツールは、OFFになったが、 アクティブでないアプリケーションアドインではなく 無効なアプリケーションアドインになってしまった。 ツールバーアドインは、変わらずONのまま。 excelは、セーフモードは起動するが、通常モードは起動せず。 8.現在1項ではなく、 excel2013を通常モードの起動操作すると、緑色の起動画面が現れ、 画面下の表示が、 solver.xlam(100%)までは変わりますが、1日以上そのままです。 9.word2013,outlook2013は通常モードで立ち上がります。

  • ユーザー定義の関数(マクロ)のLANでの共有

    お世話になります。社内LANで繋いでおります、エクセルで一部ユーザー定義の関数(マクロ、アドインで使用)が入った共有する表があります。他のPCでその表を開くと「自動リンクの更新できません…」と表示され、そこのセルはエラー表示になります。ユーザー定義の関数をLANで共有する方法を教えてください、お願いします。OSはXP、オフィス2000です。

  • エクセルのCOUNTとIF定義について

    こんにちわ 下のような状況の場合どのような定義を使うのか教えてください。 シート1 会員番号 商品 値段 1      A   100円 2      B   200円 3      C   300円 1      B   200円 1      D   50円 シート2にはA1セルに会員番号を検索する欄 A2セルには、その会員番号が50円以上の商品を 何個買ったかと言う個数表示欄を設けたいのですが 自分ではこのような書式でしたところ だめでした(汗 IF((シート1!C2:C6)>50,COUNTIF(シート1!A2:A6,A1),0) 上の式をシート2のA2セルに設けたのですが どこが悪いか又もっと最適な方法がありましたら アドバイスをください宜しくお願いします。

専門家に質問してみよう