• ベストアンサー

どの数字を足すと、求めたい数字になるか知りたいのです。

どの数字を足すと、求めたい数字になるか知りたいのです。 画像を添付させていただきましたので、ご確認宜しくお願い申し上げます。 C2に求めたい数字を入れると、 A2:A16までに入っている数字の中から、 どれを足せばC2と同じ数字になるか知りたいのです。 C2と同じ数字がわかるのであれば、セルを沢山使っても、時間がかかっても構いませんが、 手間がかかる方法では、他の社員に勧めることが出来ませんので、 是非とも簡単な方法で宜しくお願い申し上げます。 VBAはあまり理解していませんが、勉強中であるため、わかりやすい方法だと助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

簡単な式とクリックだけで出来る一例として。 添付図: C4に =SUMPRODUCT(A2:A20, B2:B20) と式を記入してある。 ツールメニューのアドインで「ソルバー」のチェックを入れる。 C4を選び,ツールメニューからソルバーを開始する。 目的セル $C$4 目標値  6820 変化させるセル B2:B20 制約条件の追加をクリック,B2:B20を設定し,デー▼となっているのを選ぶと自動で「バイナリ」が入るので追加する。 で,実行すると……… 727,703,729,4462,199の組み合わせでも達成できると見つけてきました。 解を記入させ,ソルバーを終了します。 (ソルバーを使った別の解法) 例えば目的の入金額-SUMPRODUCT(上述) の数式を準備し,そのセルの制約条件を=0に設定,更にSUM(B2:B20)を目的セルとしてこれが最小あるいは最大(つまり使う数字が少ないまたは多い)解を探索させるといった事も出来ます。 先に言っておくとソルバーは「全ての解を列挙する」機能ではありません(繰り返して言っておきますがそういうことは出来ません)が,こういった制約条件の設定,あるいはセルの初期状態によって,どの解に落ち着くかを変えさせることが出来る場合もあります。 出来るという意味ではデータシートに数式と「データ入力欄」だけ準備し,ソルバーをマクロで制御する事も出来ます。 でも皆に少し練習させて各人の手で操作させる(このぐらいは出来るよう,あなたがトレーナになって教え込む。ただし「何を求めさせるのか」は事前に決めて,シートに説明を書いておく)方が,間違いなく効率的で簡単です。

fujiyamato
質問者

お礼

ネットで調べてもわからなかったので、 keithin様のような方に質問を発見して頂けととても嬉しく思っております。 こんな機能があるとは、エクセルの作成者に頭が下がると伴に、 そのような機能を熟知しているkeithin様にとても関心致します。 現在頼りにできる上司がいないので、keithin様のような上司がいてくれたらと、 ついつい思ってしまいます。 感謝の気持ちでいっぱいです。 この度は、本当にありがとうございました。

関連するQ&A