• 締切済み

エクセルでりんごの個数を計算したい

りんごの値段が個数によって1個100円、3個200円、6個300円と3つの価格帯があるときに、 ある金額で買えるりんごの最大個数を計算したいのですが、条件式の作り方に悩んでいます。 例としては 500円で買える最大個数は6個300円を1つと3個200円を1つで合計6×1+3×1=9個 1000円で買える最大個数は6個300円を3つと1個100円を1つで合計6×3+1×1=19個 2000円で買える最大個数は6個300円を6つと3個200円を1つで合計6×6+3×1=39個 と頭では計算できるのですが、IF関数で作ろうとして条件の分け方で止まってしまいました。 できれば、この計算ができる条件式を分かりやすく教えていただけますようよろしくお願いします。

みんなの回答

  • warumx
  • ベストアンサー率0% (0/9)
回答No.4

ご質問の内容は組合せ最適化問題の1つでナップサック問題と いうものです。 関数で解決するとなると、3つの価格帯の組合せを1つずつ 計算した表を用意して設定した金額に合致したものを探す ことになると思います。 Excelにはソルバーが用意されておりこの種の問題を解くには 最適です。 使用したことがなければ、Excelソルバーでネット検索すると 使い方を含めて多くの情報が見つかるでしょう。 一度試してみられることをお勧めします。 尚、当方のブログでこの質問を紹介してます。

参考URL:
http://mathinfo.blog.fc2.com/
  • chayamati
  • ベストアンサー率41% (254/607)
回答No.3

割り算の商を求めるQUOTIENT()関数がありました。 セルA2の金額で何個のリンゴが買えるかを求めます。 一個当たりの単価が小さい順にロットを攻めていきます。 B2 =QUOTIENT(A2,300)*6 +QUOTIENT(MOD(A2,300),200)*3 +QUOTIENT(MOD(MOD(A2,300),200),100)

  • shintaro-2
  • ベストアンサー率36% (2266/6244)
回答No.2

こんな感じです =if(所持金<300,if(所持金<200,if(所持金<100,"買えません",int(所持金,100)&"個")),int(所持金,200)*2&"個"),int(所持金/300)*3%"個") 簡便化するため300円で100,200円残った場合については記述していません。 問題なのは、400円とか600円とか、300円以上の金額を持っていた時で、残金に対して300,200,100円で買えるかどうかの判断をしなければなりません。 簡単なのは、所持金-int(所持金/300)*300の金額に対して、100円、200円の処理を行うということでしょう。

  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.1

A1に金額が入っていたとして、 B1に、=MOD(A1,300) C1に、=MOD(B1,200) として、 =INT(A1/300)*6+INT(B1/200)*3+INT(C1/100) とすれば最大個数が出ます。 これを1つの式にすれば、 =INT(A1/300)*6+INT(MOD(A1,300)/200)*3+INT(MOD(MOD(A1,300),200)/100) となります。

関連するQ&A

  • 個数と金額の計算

    個数と金額の決まっているものを、各金額別に振り分けたいと思っています。 計算式があれば教えていただければと思います。 例: 100円と90円と80円のものが個数で218個、金額で19,570円 金額別に100円が何個でいくら 90円が何個でいくら・・・になるかという計算式です。 今までは自分で何となく考えた法則でできていたのですが、今回から値段が変わってしまい、通用しなくなってしまいました。 よろしくお願いします。

  • 単価×個数=価格の合計の関数ですが?

    エクセル関数で、単価×個数=価格         単価×個数=価格         単価×個数=価格           (合計)?円 上記の計算を関数で表記するのには、どうしたら出来るのでしょうか? 普通は、単価×個数=価格の式を入れて、そのまま下にドラッグして、縦の価格の合計は自動計算しています。関数に関しては、恥ずかしながら赤子なみです。分かりやすくご指導下さいますことをお願いいたします。

  • エクセルでの段階式料金の計算式を教えてください。

    エクセルでの段階式料金の計算式を教えてください。 条件 1.対象金額が200万円まではその5%を計算 2.200万超~400万までは4%を計算 3.400万超~は3%を計算 エクセルの様式 対象金額 200万円までの金額:計算式1 200万超~400万までの金額:計算式2 400万超~の金額:計算式3 合計: 例 300万円だとすると条件1と条件2による計算がされ条件3は働きません。 条件1の結果:10万 条件2の結果: 4万 条件3の結果: 0万 計算式1~3を教えてください。よろしくお願いします。

  • Excelでの条件付合計関数について

    お世話になります。 Excelで以下のような複数の条件での合計値の算出を行いたいのですが、 上手く算出できません。 環境:WindowsXP,Excel2000 名前   色    値段 りんご  赤    100 りんご  青    150 りんご  赤    100 ぶどう  赤    200 ぶどう  青    200 上記のようなリストがあるとき、 「名前がりんごで色が赤なら金額を合計する」 「名前がぶどうで色が青なら金額を合計する」 などのように2つの条件に一致する場合、別のセルの合計金額を算出したいのですが、SumIF関数だと条件を一つしか設定できない、 また、DSUM関数だと違う条件に都度タイトルを設けなくてはならないため、 どのように算出して良いかわからず困っています。 Sum(If(AND(A1:A5="りんご",B1:B5="赤"),C1:C5) などのようにしても上手く計算されませんでした。 どなたかアドバイス頂ければ幸いです。 よろしくお願い致します。

  • トマトの個数の問題

    「青果店で1個80円のリンゴと1個50円のトマトをいくつか買った。店員がリンゴとトマトの個数を入れかえて計算してしまったため、自分で計算した金額よりも少なくなってしまったが、新たにトマトを3個追加で買うことで自分で計算した金額と同じになった。全部で買ったリンゴとトマトの数は16個になった。当初、トマトはいくつ買う予定だったか求めよ。」 上記の問題を現在解いているのですが、解き方が分からずに困っています。答えは「4個」とあるのですが、解き方が載っていないのでわかりません。 自分で方程式を立てて解いてみようと思ったのですが、個数や金額など数値が明らかにされていないものが多いため、ごちゃごちゃになってしまい、うまい方程式が立てられませんでした。 分かる方がいましたら力を貸していただけないでしょうか。

  • Excel IF関数を別の関数で省略するには?

    次のような関数を省略、追加するにはどうしたらよいでしょうか? 考えている内容は電気料金の計算です。 単位がW、VAの2つが混ざった表でバラバラに並んでいます。 この表の金額の合計値を出して他のシート上に結果を表示させるということを考えています。 =IF(E23<=10,$E$29*G23,IF(AND(10<E23,E23<=20),$E$30*G23,IF(AND(20<E23,E23<=40),$E$31*G23,IF(AND(40<E23,E23<=60),$E$32*G23,IF(AND(60<=E23,E23<=100),$E$33*G23,IF(100<E23,$E$34*G23)))))) ある物の数値が   0~ 10ならば  0~ 10の時の値段と物の個数を掛ける  10~ 20ならば 10~ 20の時の値段と物の個数を掛ける  ・  ・  ・ 100~   ならば   ~100の時の値段と物の個数を掛ける   といったところまでは上手くいった気がするのですがとても長くなってしまいます。 VLOOKUP関数を使えばいいと調べたらわかったのですが使い方がわかりません。 またこの関数にさらに追加したい条件として 100を超えた場合、50毎に値段を追加する さらに別の数値の条件で   0~ 50ならば  0~ 50の時の値段と物の個数を掛ける  50~100ならば 50~100の時の値段と物の個数を掛ける 100を超えた場合、50毎に値段を追加する を追加したいのですが同様にしたところエラーが出ました。

  • 仕入れ個数の解き方が?

    りんごを単価70円(=単価1)で100個(=個数1)仕入れ、次に単価50円(=単価2)で何個(=個数2)仕入れれば、仕入れ単価(=単価3)を60円に出来るかを教えて下さい。 (単価1×個数1+単価2×個数2)÷(個数1+個数2)=単価3 この時、「個数2=式・・・・・・」個数2を求める式が知りたいのですが? あと、単価2は以下の式で良いのですか? 単価2=(単価3(個数1+個数2)-(単価1×個数1))÷個数2

  • 【エクセル】セルに数字以外を入力して計算する方法

    検索方法もわからず、大変困っています。 条件があるとします。 --------- リンゴ=1 バナナ=0.8 パイン=0.5 --------- A1セルには「果物」A2セルには「金額(数字)」を入力し、 A1×A2の計算が出来るようにしたいです。 例)リンゴ×100円=100、バナナ×100円=50 「果物」は5種類くらいなのですが、「金額」は任意です。 量が多いので、細かい条件式でないほうがいいです。 簡単そうなのですが、スマートなやり方が思いつきません。 よろしくお願いします。

  • 複数の検索条件の合計

    複数の検索条件がある場合の結果の合計を求める関数を教えてください。 例えばA列にりんご・みかん・ばなな・りんご・りんごがあり B列に値段(100円・200円・100円・150円・100円) C列に個数(3・2・2・3・1)があるような場合で りんごの中で100円で販売した個数の合計(この場合4)、というような。 説明が雑ですがよろしくお願いします。

  • エクセルで該当セルごとの合計を算出したい

     A     B   いちご  1000円 りんご  1500円 キゥイ  800円 いちご  1200円 りんご  1500円 すもも  800円 こういったセルで、 Aセル内のデータごとにBセルの合計を表示したいのですが いちご 合計○○○円 りんご 合計○○○円 キゥイ 合計○○○円 すもも 合計○○○円 どうすればよいのでしょうか? 「いちご 合計○○○円」を計算するためには、 if Aセル=いちごなら、Bセルの金額を足す… といった方法は頭に浮かぶのですが、どうしてもうまく関数を作ることができません(+_+) ちなみにAセル、Bセルも数百列くらいあるので、確定のセルというよりは、特定の範囲のセル内の…という計算式にしたいと思っています。 わかりにくいかもしれませんが… わかる方、お知恵を貸していただけると嬉しいです。

専門家に質問してみよう