「製品A・B・Cをそれぞれ何個製造すれば原材料を使い切って利益を最大にできるか」「倉庫から各店舗への輸送量はどう割り当てればコストを最小化できるか」――こうした複数の変数が絡む最適化の問題を手作業で解こうとすると、膨大な試行錯誤が必要になります。
Excelのソルバーは、複数の制約条件を満たしながら目標セルの値を最大化・最小化・特定値に設定する多変数最適化アドインです。「1変数・1目標」のゴールシークとは異なり、変数セルが複数あり制約条件も複数ある場合でも対応できます。
本記事では、ソルバーアドインの有効化手順から、目標セル・変数セル・制約条件の設定方法、解法エンジンの選択、実務で役立つ想定例、結果レポートの見方、よくあるつまずきまで体系的に解説します。
ソルバーとゴールシーク・データテーブルの違い
ExcelのWhat-If分析ツールには「ゴールシーク」「データテーブル」「シナリオマネージャー」そして「ソルバー」があります。それぞれの使いどころを整理しておきましょう。
| ツール | 変数の数 | 制約条件 | 代表的な用途 |
|---|---|---|---|
| ゴールシーク | 1個 | なし | 目標利益を達成する販売数を逆算する |
| データテーブル | 1~2個 | なし | 利率・期間を変えたときの返済額を一覧表示する |
| シナリオマネージャー | 複数(切替) | なし | 楽観・基準・悲観シナリオを切り替えて比較する |
| ソルバー | 複数(同時) | あり(複数可) | 資源配分・コスト最小化・利益最大化 |
ソルバーは4つの中で最も高度な最適化機能です。複数の変数セルを同時に変化させながら、指定した制約条件の範囲内で目標セルを最大化・最小化・特定値に設定する解を自動で探索します。
ソルバーアドインを有効化する
ソルバーは標準でインストールされていますが、アドインとして手動で有効化する必要があります。有効化すると「データ」タブの右端に「ソルバー」ボタンが追加されます。
- 「ファイル」→「オプション」をクリックする
- 「Excelのオプション」ダイアログの左側で「アドイン」を選択する
- 画面下部の「管理」ドロップダウンが「Excelアドイン」になっていることを確認し「設定」ボタンをクリックする
- 「アドイン」ダイアログで「ソルバーアドイン」のチェックボックスをオンにし「OK」をクリックする
- 「データ」タブを開き、右端の「分析」グループに「ソルバー」ボタンが表示されたことを確認する
一度有効化するとそのブックに設定が保持されます。別のPCやアカウントで開いた場合は再度有効化が必要になることがあります。
ソルバーダイアログの3要素を理解する
ソルバーを起動すると「ソルバーのパラメーター」ダイアログが表示されます。設定すべき要素は3つです。
| 要素 | 設定内容 | 例 |
|---|---|---|
| 目標セル | 最大化・最小化・特定値にしたいセル(数式が入っているセル) | 利益合計セルを最大化 |
| 変数セル | ソルバーに値を変更させる入力セル | 各製品の製造数量が入ったセル範囲 |
| 制約条件 | 変数や中間値に課す条件式 | 原材料使用量 ≤ 在庫量、製造量 ≥ 0 |
目標セルは「最大化(最大値)」「最小化(最小値)」「特定値(値を設定)」の3モードから選択します。変数セルは複数のセル範囲をカンマ区切りで指定できます。制約条件は「追加」ボタンで複数設定できます。
制約条件に使用できる演算子
制約条件のダイアログでは以下の演算子が使用できます。
| 演算子 | 意味 | 使用例 |
|---|---|---|
| <= | 以下(≤) | 原材料使用量 ≤ 保有在庫 |
| = | 等しい | 総割当量 = 需要量 |
| >= | 以上(≥) | 製造量 ≥ 最低ロット数 |
| int | 整数制約 | 製造数量が整数でなければならない |
| bin | バイナリ(0か1) | 拠点を開設するか否かの0/1決定 |
| dif | 相互に異なる値 | スケジューリングで同じ時間帯の重複を防ぐ |
解法エンジンの種類と選択基準
ソルバーには3種類の解法エンジン(アルゴリズム)があります。問題の性質に合わせて選択します。
| 解法エンジン | 対象問題 | 特徴 |
|---|---|---|
| GRG 非線形 | 非線形問題(目標関数または制約条件に非線形な式を含む) | Excelの既定値。微分可能な関数に有効。局所最適解に収束することがある |
| シンプレックス LP | 線形計画問題(目標関数・制約条件が全て一次式) | 最も高速。全ての式が一次式(加算・減算・定数倍のみ)の場合に最適解が保証される |
| エボリューショナリー | 非スムース・不連続な問題、整数・バイナリ制約を含む複雑な問題 | 進化的アルゴリズムを使用。理論的な最適解保証はないが複雑な問題にも適用できる |
全ての式が一次式(乗算・累乗なし)の場合はシンプレックス LPが最速で最適解が保証されます。2次式や乗算が含まれる場合はGRG 非線形、整数制約や不連続な式が含まれる場合はエボリューショナリーを選ぶのが一般的なアプローチです。
想定例1:製品ミックスの利益最大化(線形計画)
以下は想定例です。実際の企業・個人の事例ではありません。
製品A・B・Cを生産する場合を考えます。各製品の利益単価と原材料消費量が決まっており、原材料の総在庫量に上限がある状況で利益を最大化します。
| 製品A | 製品B | 製品C | 在庫上限 | |
|---|---|---|---|---|
| 原材料X消費量(単位/個) | 2 | 1 | 3 | 120 |
| 原材料Y消費量(単位/個) | 1 | 3 | 2 | 150 |
| 利益単価(円/個) | 400 | 350 | 500 | ― |
ソルバー設定例(想定):
- 変数セル:各製品の製造数量(例:B5:D5)
- 目標セル:利益合計 =SUMPRODUCT(利益単価, 製造数量)(例:F5)→ 最大化
- 制約条件:原材料X使用量 ≤ 120、原材料Y使用量 ≤ 150、各製造数量 ≥ 0、製造数量は整数(int制約)
- 解法:シンプレックス LP(全式が一次式)
この想定例では、原材料制約の範囲内で各製品の製造量を最適配分し、利益合計を最大化する解が自動算出されます。変数の数や制約条件が増えても同じ手順で対応できるのがソルバーの強みです。
想定例2:輸配送コストの最小化
以下は想定例です。実際の企業・個人の事例ではありません。
2か所の倉庫から3か所の店舗へ商品を輸送する際、各ルートの単位コストが異なる場合に総コストを最小化するケースです。倉庫ごとの供給可能量と店舗ごとの需要量が制約になります。
| 輸送コスト(円/個) | 店舗X | 店舗Y | 店舗Z | 供給可能量 |
|---|---|---|---|---|
| 倉庫1 | 10 | 15 | 20 | 100 |
| 倉庫2 | 25 | 8 | 12 | 80 |
| 需要量 | 60 | 70 | 50 |
ソルバー設定例(想定):
- 変数セル:各ルートの輸送量(6セル、倉庫×店舗の組み合わせ)
- 目標セル:総輸送コスト =SUMPRODUCT(コスト単価, 輸送量) → 最小化
- 制約条件:各倉庫からの合計輸送量 ≤ 供給可能量、各店舗への合計輸送量 ≥ 需要量、各輸送量 ≥ 0
- 解法:シンプレックス LP
輸送問題はソルバーの典型的な適用例の一つです。店舗数や倉庫数が増えてもモデルを拡張するだけで同じアプローチで対応できます。
ソルバーの結果と解のレポートを読む
ソルバーが解を探索すると「ソルバーの結果」ダイアログが表示されます。
- 「ソルバーの解が見つかりました」:全ての制約条件を満たす最適解(または実行可能解)が見つかったことを示す
- 「制約条件が満たされていません」または「実行不可能な問題」:制約条件が矛盾しているか、実行可能領域が存在しない可能性がある
- 「目標セルの値が改善されませんでした」:解は見つかったが最適性の確認ができていない(GRG非線形で局所解に収束した可能性)
「レポートを作成」から以下の3種類のレポートを別シートに出力できます。
| レポート種別 | 主な内容 |
|---|---|
| 回答レポート | 目標セル・変数セルの最終値、制約条件の充足状況(バインディング / 非バインディング)と余裕量 |
| 感度レポート | 各変数の許容変動範囲と制約条件のシャドウプライス(線形問題のみ有効) |
| 限界レポート | 各変数セルの下限・上限と目標値への影響(線形問題のみ有効) |
回答レポートの「状態」列で「バインディング(拘束)」と表示された制約は、その条件がちょうど等しい状態(余裕ゼロ)で最適解に到達したことを意味します。「非バインディング(非拘束)」は余裕があり、条件を少し緩めても最適解は変わらないことを示します。ボトルネックとなっている制約を特定するのに役立ちます。
よくあるつまずきと対処法
ソルバーを使い始めたときに一般的によく見られるつまずきを整理します。
「ソルバーが実行可能な解を見つけられませんでした」
制約条件が矛盾しているか、制約が厳しすぎて実行可能領域が存在しない状態です。制約条件を一つずつ無効にして実行し、どの条件が原因かを特定するアプローチが有効です。
変数セルが負の値になる
製造数量や輸送量など現実的には負になれない変数は、「変数セルを非負にする」チェックボックスをオンにするか、「各変数 ≥ 0」の制約条件を明示的に追加します。「ソルバーのオプション」の「変数が非負の値の場合」チェックが有効です。
整数制約を設定したのに小数が残る
「ソルバーのオプション」で「整数制約を無視する」がオンになっていないか確認します。整数制約はシンプレックス LP(MIP対応)またはエボリューショナリー解法で使用します。GRG非線形では整数制約の厳密な保証が弱い場合があります。
GRG非線形が局所最適解に収束する
非線形問題では複数の局所最適解が存在する場合があります。「ソルバーのオプション」で「初期値の設定を複数試みる(マルチスタート)」をオンにすると、複数の出発点から解を探索します。また変数セルの初期値を変えて再実行することで別の解が見つかる場合があります。
収束しない・繰り返し回数の上限に達する
「ソルバーのオプション」で「最大繰り返し回数」や「最大時間(秒)」を大きくすることで改善することがあります。問題の規模を縮小するか、モデルを見直して計算を簡略化することも検討します。
MOS試験でのソルバーと関連出題ポイント
ソルバーはMOS Excel 365 エキスパート(MO-211)の「ブックのオプションと設定の管理」領域に関連する高度な機能です。出題範囲に含まれます。分野別の出題数・配点は公表されていません。
試験で問われる操作として一般的に挙げられるのは以下の内容です。
- ソルバーアドインの有効化:「ファイル」→「オプション」→「アドイン」→「設定」の手順を正確に行える
- 目標セル・変数セルの正しい設定:最大化・最小化・特定値モードの選択と複数変数セルの指定
- 制約条件の追加・編集:<=・>=・=・int・bin 演算子の使い分け
- 解法エンジンの選択:シンプレックスLP(線形)・GRG非線形・エボリューショナリーの特徴と適用条件
- 解の確定・元の値への復元:「ソルバーの解を保持」と「元の値を復元」を目的に応じて選択できる
- 回答レポートの出力:「レポートを作成」からシートに出力し、バインディング制約を確認できる
MOS試験 ソルバー操作チェックリスト
| 確認ポイント | 操作内容 | 難易度 |
|---|---|---|
| アドインの有効化 | 「ファイル→オプション→アドイン→設定」でソルバーアドインをオンにできる | ★☆☆ |
| ソルバーの起動 | 「データ」タブの「ソルバー」ボタンからダイアログを開ける | ★☆☆ |
| 目標セルの設定 | 目標セルを指定し、最大化・最小化・特定値を正しく選択できる | ★☆☆ |
| 変数セルの設定 | 変数セルを複数範囲で指定できる | ★☆☆ |
| 制約条件の追加 | 制約条件ダイアログで演算子を選び、条件を正しく追加できる | ★★☆ |
| int・bin制約の使用 | 整数制約(int)とバイナリ制約(bin)を設定できる | ★★☆ |
| 解法エンジンの選択 | 問題の種類に応じてシンプレックスLP・GRG非線形を選択できる | ★★☆ |
| 解の確定・復元の選択 | ソルバーの結果ダイアログで「ソルバーの解を保持」または「元の値を復元」を選択できる | ★☆☆ |
| 回答レポートの出力 | 「レポートを作成」から回答レポートを別シートに出力できる | ★★☆ |
| オプションの変更 | 「オプション」ボタンから繰り返し回数・精度・非負制約を調整できる | ★★★ |
まとめ:ソルバーは複数変数・複数制約の最適化を自動解決する
本記事のポイントをまとめます。
- ソルバーとは:複数の変数セルと制約条件を同時に扱い、目標セルを最大化・最小化・特定値に設定する多変数最適化アドイン
- 有効化手順:ファイル→オプション→アドイン→設定→「ソルバーアドイン」をオンにする
- 3要素の設定:目標セル(何を最適化するか)・変数セル(何を変えるか)・制約条件(何を守るか)
- 解法の選択:全式が一次式ならシンプレックスLP、非線形ならGRG非線形、整数・不連続ならエボリューショナリー
- 制約条件演算子:<=・>=・=に加え、int(整数)・bin(0/1)・dif(相互に異なる)が指定可能
- レポート活用:回答レポートでバインディング制約(余裕ゼロの制約)を確認し、ボトルネックを特定する
- ゴールシークとの違い:ゴールシークは1変数・1目標の逆算。ソルバーは多変数・多制約条件付きの最適化
- MOS試験では:エキスパート(MO-211)の「ブックのオプションと設定の管理」に関連する。アドイン有効化・目標セル・変数セル・制約条件の設定を正確に行えることが重要
ソルバーは一見取っつきにくく感じますが、「目標セル・変数セル・制約条件」の3要素を整理すれば、製品ミックスの生産計画から輸配送コストの最小化まで幅広い業務課題に適用できます。ゴールシークで解けない多変数問題に直面したとき、ソルバーが最初の選択肢になります。MOS試験エキスパート対策としても、アドインの管理と最適化ツールの活用という観点で重要な機能です。
PR
改善Excel パフォーマンスを底上げする仕事改善・効率化テクニック
ソルバーを含むExcelの高度な分析・最適化ツールを実務目線で解説。データ集計から意思決定支援まで、業務効率を根本から改善したい方におすすめの一冊です。
PR
MOS Excel 365試験の公式対策書。アドイン管理・高度な分析ツールを含むエキスパートレベルの全範囲を網羅し、模擬問題と解説でスコアアップを狙えます。試験本番前の総仕上げにおすすめです。
