dポイントプレゼントキャンペーン実施中!

エクセル2000を使用しています。

A1:20,000円
B1:5,200円
B2:4,280円

5,200円と4,280円を何件かずつ足して合計が一番20,000円に近くなるようにしたいです。
手動で計算したら5200円×4件=20,800円が一番近いかと思いますが、これを関数で計算できますか?

A 回答 (5件)

Excel2003ですが2000にもゴールシーク機能があれば出来ます



【D1】にROUND関数を入れます「=ROUND(C1,0)」
【E1】に「=B1*C1」
【F1】に「=B1*D1」

計算式入力後「ツール」から「ゴールシーク」を選択
数式入力セルに「E1」セルをクリック
目標値には「20000」を手入力
変化させるセルに「C1」をクリック

最後に「OK」をクリックすると目標値に近い数値が出ます
目標値を例えば「30000」にすると「30000」に近い数値が自動計算されます

Excel2000にゴールシーク機能があればの話ですが・・・。 ^^;
    • good
    • 0
この回答へのお礼

ゴールシークでできました!こんな機能があるんですね!ありがとうございました!!

お礼日時:2008/05/28 15:35

Excelのソルバー機能が利用できます



      A列   B列   C列   D列
1行目  20000  5200    1    10520
2行目       4280    1

という表を作ります。D1は以下の式を入力します
 =ABS(A1-B1*C1-B2*C2)

ソルバーを使うには「ツール」→「アドイン」で「ソルバー アドイン」にチェックをつけておいてください。

「ツール」→「ソルバー」を選択し
目的セル: D1
目標値:  最小値
変化させるセル: C1:C2
制約条件には
 C1 = 整数  (これは演算子に「区間」を選ぶと表示されます)
 C1 >= 0
 C2 = 整数
 C2 >= 0
の4つを指定します。条件を入力しているときエラーが表示されるかもしれませんが、「キャンセル」を選ぶとちゃんと入力されていると思います

これで「実行」を選べば C1:3、C2:1、D1:120 が結果として得られます。(合計金額は19880円ですから、質問にある組み合わせより近似値ですね)

文字で説明するとわかりにくいですが、ネットを「エクセル ソルバー」で検索するとビジュアルな解説ページがたくさんありますよ
    • good
    • 0
この回答へのお礼

ご教授頂きありがとうございました。

お礼日時:2008/05/28 15:37

別表案ですが


    C   D   E   F  ・・・
1   1   2  3   4 
2 1
3 2
・・・
と準備しておいて
C2セルに =IF($A$1-($A$2*C$1+$A$3*$B2)<0,"",$A$1-($A$2*C$1+$A$3*$B2))  右フィル、下フィルしてみて
最小値の場所を探すではいかがでしょうか。
    • good
    • 0
この回答へのお礼

ありがとうございます!

お礼日時:2008/05/28 15:39

関数はありませんが「エクセルは表を扱う」のですから「表を作る」のが一番。



縦軸を「5200円の個数」、横軸を「4280円の個数」にした合計金額の表を作りましょう。

5200円は4個で20000円を超えるので、縦軸は4まで。
4280円は5個で20000円を超えるので、縦軸は5まで。

   0    1     2    3    4     5
0  0    4280  8560  12840 17120 21400
1  5200  9480  13760 18040 22320 26600
2  10400 14680 18960 23240 27520 31800
3  15600 19880 24160 28440 32720 37000
4  20800 25080 29360 33640 37920 42200

すると、表の5200円が3個、4280円が1固の所の合計金額が19880円になり、一番近くなります。
    • good
    • 0
この回答へのお礼

ものは考えようですね。ありがとうございます!

お礼日時:2008/05/28 15:36

そんな便利で都合の良い関数は無いですよ。

たぶん。
こういうことは、使用者がアルゴリズムを考える必要があります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています