スプレッドシートでソルバー機能を使う方法

2026年03月11日著者:Denis

スプレッドシートは表やグラフを作るだけのツールではありません。予算管理、食事計画、スケジュール調整など、日常的な問題の解決にも活用できます。そんなときに役立つのが「Solver(ソルバー)」機能です。設定した目標と制約条件に基づいて、最適な解を自動的に見つけてくれます。

利益の最大化、コストの最小化、時間の最適配分など、手動で試行錯誤することなく答えを導き出せます。

スプレッドシートでSolverを使う方法

ソルバーとは

ソルバーは、複数の変数を持つ問題に対して最適な解を計算するツールです。予算管理、スケジュール調整、リソース配分、計画立案など、さまざまな場面で活用できます。

ソルバーは以下の3つの方式で値を最適化できます。

  • 最大化 — 可能な限り大きな値を求めます(例:総利益の最大化)。
  • 最小化 — 可能な限り小さな値を求めます(例:総コストやカロリーの最小化)。
  • 特定の値に設定 — 計算結果が指定した数値になるよう変数を調整します(例:生産数をちょうど100単位にする)。

スプレッドシートでSolverを使う方法

ソルバーの主要コンポーネント

ソルバーを効果的に使うためには、3つの主要な構成要素を理解しておきましょう。

1. 目的関数(Objective)

目的関数とは、ソルバーが最適化する対象の値です。合計値、計算結果、数式などを指定できます。

例:

  • 複数の製品ラインの総売上を最大化する。
  • プロジェクトの総費用を最小化する。
  • 目標生産量を達成するためのスタッフ作業時間を設定する。

スプレッドシート上では、最適化したい内容を表す数式が入った1つのセルが目的関数となります。

2. 変数セル(Variable cells)

変数セルとは、目的関数を達成するためにソルバーが変更できるセルです。

例:

  • 各製品の販売数量。
  • 各タスクに割り当てる時間数。
  • 各部門への予算配分。

スプレッドシート上では、設定した制約の範囲内でソルバーが値を調整するセルまたはセル範囲が該当します。

3. 制約条件(Constraints)

制約条件とは、解が満たすべきルールや制限です。ソルバーが現実的かつ有効な結果を出すために必要です。

例:

  • 総コストが500ドルを超えないこと。
  • 時間数は正の数であること。
  • 数量は整数であること。

問題に応じて複数の制約条件を設定できます。ソルバーはすべての条件を満たす解のみを対象として計算します。

4. 解法(Solving method)

ONLYOFFICEのソルバーは、線形問題を解くためにシンプレックス法を使用しています。変数間の関係が線形(直線的な関係)である問題の最適化に非常に効率的な手法です。

問題が線形であれば、設定した制約条件の範囲内で最適解が保証されます。

非線形またはより複雑な問題の場合は、スプレッドシートの構成を調整するか、ソルバーを複数回実行する必要があります。

スプレッドシートでSolverを使う方法

実際の使い方を確認するために、ONLYOFFICEスプレッドシートエディターで、限られた予算内で果物とスナックの購入計画を立てる問題をソルバーで解いてみましょう。

ソルバーの使い方

ステップ1:数式と計算を含むスプレッドシートを準備する

小さなパーティー向けに、果物とスナックを購入する計画を立てます。

  • 果物は1個4ドル
  • スナックは1個2ドル
  • 予算:20ドル
  • 予算内で購入できるアイテムの合計数を最大化したい。

商品名と価格を入力し、数量の列は空欄のままにしておきましょう(この値がソルバーで求めるものです)。

スプレッドシートでSolverを使う方法

価格はB列に入力します。

数量は未定のため、C列は空欄にします。

D列には合計費用の数式を入力します。D2: =B2*C2 D3: =B3*C3

両商品の合計費用:D4: =D2+D3

合計アイテム数の数式:D5: =C2+C3

ステップ2:目的セルを設定する

「データ」タブを開き、上部ツールバーの「ソルバー」アイコンをクリックします。

スプレッドシートでSolverを使う方法

表示されたソルバーパラメータウィンドウで、ソルバーが最適化する目的セルを設定します。この例では、セルD5(合計アイテム数)を指定します。行の右側にある「データ選択」アイコンをクリックしてセルを選択してください。

アイテム数を最大にしたいため、目的の種類は「最大値(Max)」に設定します。

スプレッドシートでSolverを使う方法

ステップ3:変数セルを設定する

変数セルとは、ソルバーが目的を達成するために調整できるセルです。ここでは、C2:C3(果物とスナックの数量)を選択します。

ステップ4:制約条件を設定する

制約条件は、解が従うべきルールを定義します。「追加」をクリックし、セル参照を選択して制約条件を入力しましょう。

スプレッドシートでSolverを使う方法

この例では、以下の制約条件を追加します。

総費用 ≤ 予算 → D4 ≤ 20

数量 ≥ 0 → C2 ≥ 1、C3 ≥ 1

必要に応じて、最大数量の制限など、さらに制約条件を追加することもできます。

ステップ5:ソルバーを実行する

すべてのパラメータを設定したら、「解く(Solve)」をクリックします。ソルバーが自動的に最適解を計算します。

スプレッドシートでSolverを使う方法

解が見つかった場合、すべての制約条件を満たす解が見つかったことを示すメッセージが表示されます。

ソルバーの解を採用するか(バックグラウンドのスプレッドシートで確認できます)、元の値に戻すかを選択します。

対応するチェックボックスをクリックすることで、ソルバーパラメータダイアログに戻ってパラメータを調整することもできます。

「OK」をクリックすると、解の値がスプレッドシートに保持されます。

「キャンセル」をクリックすると、最適化前の元の値に戻ります。

ステップ6:結果を確認する

ソルバーが合計アイテム数を最大化する数量をC2:C3に入力します。

D4(総費用)が20ドルを超えていないことを確認しましょう。

D5(合計アイテム数)で購入できる最大アイテム数を確認できます。

スプレッドシートでSolverを使う方法

注意事項

ONLYOFFICEスプレッドシートのソルバーには、現時点でいくつかの制限があります。

  • 使用できる解法はシンプレックスLP法のみです。そのため、モデル内のすべての数式と変数間の関係が線形である必要があります(変数セルの掛け算、べき乗、その他の非線形計算は使用できません)。
  • 整数制約、バイナリ制約、微分制約はサポートされていません。ソルバーはすべての変数セルを連続値として扱うため、問題の性質上、整数が必要な場合でも結果に小数が含まれることがあります。

活用例:健康的な食事計画

最小限のカロリーで、必要な栄養素を確保した食事プランを立てたいとします。

条件は以下の通りです。

  • タンパク質:40g以上
  • 食物繊維:20g以上
  • カロリーはできるだけ少なく

使用できる食材は3種類です。

スプレッドシートでSolverを使う方法

ソルバーは以下の条件を満たす食材の組み合わせを計算します。

  • 栄養素の要件を満たしている
  • 総カロリーが最小になっている

E2:E4の数量は自動的に更新されます。

活用例:1日のタスク配分

ソルバーは時間管理の問題にも活用できます。

8時間の勤務時間を、最も生産性が高くなるようにタスクへ配分したいとします。

スプレッドシートでソルバーを使う方法

ONLYOFFICEスプレッドシートエディタでソルバーを試してみましょう

ONLYOFFICEスプレッドシートのソルバーは、日常的な問題を最適化するための強力なツールです。目的関数、変数セル、制約条件、解法の仕組みを理解することで、試行錯誤に頼らず、より賢明な意思決定を素早く行えるようになります。

オンラインで始める                      デスクトップアプリを入手

ONLYOFFICEの無料アカウントを登録する

オンラインでドキュメント、スプレッドシート、スライド、フォーム、PDFファイルの閲覧、編集、共同作業