複数の値からある合計に一致する組み合わせを探す方法を紹介します。
例えば、「値: 20、25、66、78、100、120」を使って、合計が「189」になるような組み合わせは…「20、25、66、78」となります。 これをExcelに計算してもらう方法です。
まず準備段階として、Excel標準のアドインであるソルバーを追加しなければなりません。手順は以下の通りです。
①「ファイル」タブをクリック
②「オプション」をクリック
③「アドイン」をクリックし、管理を「Excel アドイン」にし、「設定」ボタンをクリック
④「ソルバー アドイン」にチェックを入れ、「OK」ボタンをクリック
⑤これで「データ」タブのリボンの右端に、「分析」グループと「ソルバー」ボタンができます
次に元となるデータを作成します。
①「値: 20、25、66、78、100、120」をA列に入力します。
②B列に作業用セル(今は空白にしておく)を作ります。そして、SUMPRODUCT関数でA列とB列を掛け算します。(セルC2に、”=SUMPRODUCT(A2:A7,B2:B7)“と入力)
これで準備は完了です。
それでは、ソルバーの使い方の説明に入っていきます。
①「データ」タブ→「ソルバー」をクリック
②「ソルバーのダイアログ」が開くので、「目的セルの設定」を”$C$2“に、「目標値」を「指定値」にし”189“に、「変数セルの変更」を”$B$2:$B$7“にします。さらに、制約条件の対象を追加するために「追加」ボタンをクリック
③「制約条件の追加」ダイアログにて、「セル参照」を”$B$2:$B$7“に、その右側にあるリストボックスを”bin“にして、「OK」ボタンをクリック
④「解決」ボタンを押すと、Excelが計算してくれます。
⑤計算がうまくいくと、”ソルバーによって公差内で整数解が見つかりました。”と表示されます。「OK」ボタンを押すと答えが表示されます。
⑥空白にしておいた作業セル(B列)に、”1″か”0″の値が入ります。“1”が入ってるものが組み合わせ対象です。
この例の場合、”20、25、66、78″が組み合わせ対象となります。 20 + 25 + 66 + 78を計算すると、”189″になるはずです。
こちらの記事はエクセル2016の機能を前提に記載しております。他のバージョンですと正常に機能しない可能性がありますので、ご了承ください。
参考元:https://amidagamine.com/notes/3729