エクセルのソルバーの使い方|どこにある・表示する方法・最大利益の求め方

エクセルのソルバーの使い方|どこにある・表示する方法・最大利益の求め方

エクセルのソルバーは、「材料と作業時間に限りがあるとき、製品A と製品B を何個ずつ作れば利益が最大になるか」のように、条件を守りながら、いちばんよい組み合わせを探す機能です。最初は表示されていないので、アドインを有効にすると「データ」タブの右端に出てきます。

この記事では、ソルバーを表示する方法と、利益が最大になる生産計画を求める例で、目的セル・変数セル・制約条件の入れ方を、実際の Excel の画面で説明します。

練習用Excelファイル(無料ダウンロード)
製品A・B の利益と、材料・作業時間の上限を入れた表です。ソルバーの練習にそのまま使えます。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り
目次

ソルバーとゴールシークの違い

ゴールシークソルバー
変えるセル1つだけ複数できる
目標指定した値にする最大・最小・指定した値
条件(上限・整数など)付けられない付けられる
使える場所「データ」→「What-If 分析」アドインを有効にして「データ」→「ソルバー」

1つのセルを変えて目標値にするだけならゴールシークで足ります(ゴールシークの使い方)。

ソルバーを表示する(アドインを有効にする)

  1. 「ファイル」→「オプション」を開き、左の「アドイン」を選びます。
  2. 下の「管理」が「Excel アドイン」になっていることを確かめて、「設定」を押します。
  3. 「ソルバー アドイン」にチェックを入れて、OK を押します。
エクセルのアドインの画面でソルバーアドインにチェックを入れる
エクセルのアドインの画面でソルバーアドインにチェックを入れる
エクセルのデータタブの右端の分析グループにソルバーが表示された画面
エクセルのデータタブの右端の分析グループにソルバーが表示された画面

「データ」タブの右端に「分析」グループができ、「ソルバー」が表示されました(①)。

ソルバーの使い方(利益が最大になる組み合わせ)

製品A は1個 300 円、製品B は1個 500 円の利益です。材料は A が 2kg・B が 4kg 使い、全部で 100kg まで。作業時間は A が 3 時間・B が 2 時間かかり、全部で 90 時間までです。作る数(B6:C6)を変えて、利益の合計(B7)を最大にします。使った量は =SUMPRODUCT(B3:C3,$B$6:$C$6) で計算しています(SUMPRODUCT関数)。

  1. 利益の合計のセル(B7)を選び、「データ」タブの「ソルバー」を押します。
  2. 「目的セルの設定」が $B$7、「目標値」が「最大値」になっていることを確かめます。
  3. 「変数セルの変更」に $B$6:$C$6(作る数)を入れます。
  4. 「追加」を押して、制約条件を入れます(次の画像)。
  5. 「解決方法の選択」を「シンプレックス LP」にして、「解決」を押します。
エクセルのソルバーのパラメーターで目的セル・最大値・変数セル・制約条件・シンプレックスLPを設定した画面
エクセルのソルバーのパラメーターで目的セル・最大値・変数セル・制約条件・シンプレックスLPを設定した画面

制約条件の入れ方

エクセルのソルバーの制約条件の追加で使った量が上限以下になる条件を入れる画面
エクセルのソルバーの制約条件の追加で使った量が上限以下になる条件を入れる画面

「セル参照」に使った量($D$3:$D$4)、真ん中を「<=」、「制約条件」に上限($E$3:$E$4)を入れます(①②③)。「追加」を押すと次の条件を続けて入れられるので、セル参照に作る数($B$6:$C$6)、真ん中に「int」(整数)を選ぶと、作る数が整数だけになります。

エクセルのソルバーで製品A20個・製品B15個・利益13500円の答えが出た画面
エクセルのソルバーで製品A20個・製品B15個・利益13500円の答えが出た画面

「ソルバーによって解が見つかりました。」と出て OK を押すと、製品A を 20 個・製品B を 15 個作るとき、利益が最大の 13,500 円になりました(①②)。材料は 100kg、作業時間は 90 時間で、どちらも上限ちょうどまで使っています(③)。念のため、作る数をすべての組み合わせで計算して確かめても、13,500 円より大きい組み合わせはありませんでした。

ソルバーがうまくいかないときの確認表

症状考えられる原因対処
「ソルバー」が見つからないアドインが有効になっていない「ファイル」→「オプション」→「アドイン」→「設定」で「ソルバー アドイン」にチェック。
作る数が小数になる整数の条件を付けていない変数セルに「int」の制約条件を追加する。
結果が式どおりか不安目的セルが変数セルを使った式になっていない目的セル(利益)と使った量の式が、作る数のセルを参照しているか確かめる。

よくある質問

解決方法(GRG 非線形・シンプレックス LP)はどれを選ぶ?

今回のように、式が「1個あたりの量 × 個数」の足し算(SUMPRODUCT など)だけでできているときは「シンプレックス LP」を選びます。ソルバーの画面の説明にも、線形の問題には LP シンプレックス エンジンを選ぶよう書かれています。

1つのセルを変えるだけなら?

ゴールシークのほうが手軽です(ゴールシークの使い方)。

練習用Excelファイル(無料ダウンロード)
この記事の生産計画の表が入った練習用のファイルです。ソルバー アドインを有効にしてから試してください。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

あわせて読みたい:計算・分析の関連記事

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次