Excelのソルバーを使って最適な解を求める方法をわかりやすく解説!

Excelのソルバーを使って最適な解を求める方法をわかりやすく解説!

Excelにはソルバーという機能が存在しており、ソルバーを使うことで複数の変数を含んでいる数式において最適な変数の値を求めることができます。マクロにも使えますよ。この記事では、Excelのソルバーを使って最適な解を求める方法をわかりやすく解説しています。


目次[非表示]

  1. Excelのソルバーとは?
  2. Excelのソルバーを使って最適な解を算出する方法
  3. まとめ

Excelのソルバーとは?

Excel

Excelには、ソルバーというアドインがあります。

ソルバーとは、複数の変数を含んでいる数式で、最適な変数の値を求めることができる分析ツールのことを指します。

ソルバーはアルゴリズムにより複数の変数の値を変化させながら最適化を行い、値を算出してくれます。今回は、ソルバーの使い方・ソルバーを使って最適な解を算出する方法をご紹介します。

Excelのソルバーを使って最適な解を算出する方法

ソルバーアドインを有効にする

Excelを起動したら、ウィンドウ上部の「ファイル」をクリック
ソルバーを使うためには、まずはアドインを有効にする必要があります。Excelを起動したら、ウィンドウ上部の「ファイル」をクリックしましょう。
ファイルタブが開いたら、左側メニューの「オプション」をクリック
ファイルタブが開いたら、左側メニューの「オプション」をクリックしましょう。
Excelのオプションが表示されるので、左側メニューの「アドイン」をクリック
Excelのオプションが表示されるので、左側メニューの「アドイン」をクリックしましょう。
Excelのアドインの一覧が表示
Excelのアドインの一覧が表示されます。ウィンドウの下部に表示されている「管理」の項目で「Excel アドイン」が選択されていることを確認したら「設定」をクリックしましょう。
アドインウィンドウが表示されるので、「有効なアドイン」の一覧から「ソルバー アドイン」のチェックボックスをオン
アドインウィンドウが表示されるので、「有効なアドイン」の一覧から「ソルバー アドイン」のチェックボックスをオンにしましょう。そして「OK」をクリックすれば設定完了です。
メインウィンドウに戻ったら、「データ」タブをクリック
メインウィンドウに戻ったら、「データ」タブをクリックしてみましょう。
分析グループの中に「ソルバー」が表示
データタブのリボンメニューに「分析」グループが追加され、分析グループの中に「ソルバー」が表示されるようになりました。

ソルバーで解を算出する

商品の売り上げ記入表で、1月と2月の売り上げが確定している状態
それでは、ソルバーの使い方を説明していきます。

画像は商品の売り上げ記入表で、1月と2月の売り上げが確定している状態です。売上のセルには関数が入力されているので、数量のセルに数値を入れることで売上が自動計算されるようになっています。

この例では、「1月と2月の数量は判明済み」「商品Aの価格は150円・商品Bの価格は240円」「3月に商品Aと商品Bを、それぞれ200個以上売る」「売上は数量×価格」という条件で、売上目標の500,000を達成するために3月・4月の数量の目標設定をどう設定すればいいのか、ソルバーを使って計算しています。

それでは、「データ」タブを開き、リボンメニューの「ソルバー」をクリックしましょう。

ソルバーのパラメーターウィンドウが表示
ソルバーのパラメーターウィンドウが表示されます。「目的セルの設定」には結果を出力したいセルの[$G$12]を入力します。目的セルには関数が入っていないと動作しない点に注意しましょう。(表のG12には、=SUM(G8:G9)が入力されている)

「目標値」では、「指定値」を選択してから目標金額である「500000」を入力します。

「変数セルの変更」には、ソルバーを使うセルの範囲を指定しましょう。この表では[$C$4:$F$5]の範囲を設定してあります。

次に、制約条件の対象項目の「追加」をクリックして制約条件を追加していきます。

制約条件の追加ウィンドウが表示されたら、「1月の商品Aの数量300」を入力
制約条件の追加ウィンドウが表示されたら、「1月の商品Aの数量300」を入力します。「$C$4 = 300」と入力して「追加」をクリックして条件を追加します。

そのまま、1月の商品B・2月の商品A・2月の商品Bをそれぞれ追加していきましょう。

「3月に商品A・Bをそれぞれ200個以上売りたい」条件である「$E$4:$E$5 >= 200」を追加
次に、「3月に商品A・Bをそれぞれ200個以上売りたい」条件である「$E$4:$E$5 >= 200」を追加していきます。
「$C$4:$F$5 int 整数」と入力して「OK」をクリック
この条件では数量を変化させるので「$C$4:$F$5 int 整数」と入力して「OK」をクリックします。

整数を指定する場合、セル参照する必要がある点に注意してください。

​​​​​​​ウィンドウ下部の「解決」をクリック
これで条件が整いました。

ウィンドウ下部の「解決」をクリックすることで、ソルバーの計算が始まります。計算はセルの数が多いほど時間がかかる(出力が遅い)点に注意しましょう。計算が完了すると、最適化された商品Aと商品Bの3月・4月の数量が入力されます。
計算終了時に「ソルバーの結果」ウィンドウが表示
計算終了時に「ソルバーの結果」ウィンドウが表示されます。結果を適用するには「ソルバーの解の保持」のボタンをクリックしてから「OK」をクリックしましょう。反映させたくない場合は「キャンセル」をクリックすれば結果反映は行われません。

まとめ

Excelのソルバーを使って最適な解を求める方法をわかりやすく解説!いかがでしたでしょうか。

Excelのソルバー機能は一言で言うと分析ツールで、アルゴリズムにより複数の変数の値を変化させながら最適化を行い、値を算出してくれますよ。

マクロにも組み込むことができて便利ですが、値を計算するセルの数が多いなどの条件でソルバーを実行すると結果が表示されるまで遅いということには注意しましょう。


関連記事