• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:個数によって値段の変わる品物の合計金額を算出したい)

個数によって値段が変わる品物の合計金額を算出する方法

このQ&Aのポイント
  • 個数によって値段が変わる品物の合計金額を算出する方法について教えてください。
  • Excel2010を使用している場合、F~I 列の個数や金額の条件を変更した時に、その結果を反映することが可能でしょうか。
  • Excelファイルを使って日付ごとの購入金額を一気に算出する方法を教えてください。

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

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

では少しメンドクサイ式ですが,こんな具合で。 B9: =IF(B2=0,0,SUMPRODUCT(($H$2:$H$4<=B2)*($H$2:$H$4-$F$2:$F$4+1)*$I$2:$I$4)+(B2-IF(B2<$H$2,0,VLOOKUP(B2,$H$2:$H$4,1)))*VLOOKUP(B2,$F$2:$I$4,4))

tarte777
質問者

お礼

無事に目的を達成することができました。 回答をくださった皆さん、ありがとうございます。

その他の回答 (4)

  • CC_T
  • ベストアンサー率47% (1038/2202)
回答No.5

J列に値引き金額を入れて、個数に応じた「値引き」で計算してみました。 B2セルに =B2*$I$2+$J$4*IF(B2>20,B2-20,0)+$J$3*IF(B2>10,B2-10-IF(B2>20,B2-20,0)) と入力して、あとはドラッグです。 蛇足ながら価格変動の個数しきい値が変わる時は、上の式の中の20、10の部分を変える必要があります。

  • QchanOK
  • ベストアンサー率0% (0/1)
回答No.3

通常は、VLOOKUP とかを使用して行いますね。 でも、あえて一番ベタな方法を書いてみました。 if文 を使う方法ですね。 B9 に入れる式 (1) =if(AND(b2>=f2,b2<=h2),b2*i2, (2) if(AND(b2>=f3,b2<=h3),b2*i3, (3) if(AND(b2>=f4,b2<=h4),b2*i4,0))) 分かりやすくするため行を分けてますが、1行で書いて下さい。 説明は、 (1):b2 の内容が f2 以上で h2 以下の場合、b2 と i2 を掛ける。それ以外は(2)の処理 (2):b2 の内容が f3 以上で h3 以下の場合、b2 と i3 を掛ける。それ以外は(3)の処理 (3):b2 の内容が f4 以上で h4 以下の場合、b2 と i4 を掛ける。それ以外は 0 if文のAND条件の書式を使います。  =if( AND(条件1,条件2) , 条件1と条件2が満たされた場合の式 , 条件1,2でもない場合の式) 今回は、[条件1,2でもない場合の式] の部分が「入れ子=ネスト」となります。  ちなみに、この「ネスト」は何個まで指定できるといった制限があります。  7個(たぶん)くらいだったと思います。 ※あとは、この B9 をコピーしてみるのですが  コピーして変わってしまうと困るところは絶対値指定にしておくことは  言うまでもありませんね(一応)。 ベタで、すみません。

tarte777
質問者

補足

私の説明が足りませんでした。申し訳ありません。 例えば「20個購入した場合、20個全てを1つ20円で計算する」のではなく、 「10個目までは1つ30円、11~20個目までの10個は1つ20円で計算する」という作業をしたかったのです。 ですからこの場合、合計は400円ではなく500円となります。 これは無理な注文なのでしょうか・・・

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

ご質問で掲示されている金額の計算結果はかなりあちこち計算間違いがあるようですが, B9: =IF(B2=0,0,B2*VLOOKUP(B2,$F$2:$I$4,4)) として右に下にコピーします。 参考: 対照表の作り方を添付図のようにすると =IF(B2="","",B2*VLOOKUP(B2,$F$2:$I$5,4)) という計算に出来ます。 前述の式は,個数リストにまだ数字が入っていないセルと,ゼロ個と記入されているセルを区別できないことを確認してください。

tarte777
質問者

補足

私の説明が足りませんでした。申し訳ありません。 例えば「20個購入した場合、20個全てを1つ20円で計算する」のではなく、 「10個目までは1つ30円、11~20個目までの10個は1つ20円で計算する」という作業をしたかったのです。 ですからこの場合、合計は400円ではなく500円となります。 これは無理な注文なのでしょうか・・・

  • -9L9-
  • ベストアンサー率44% (1088/2422)
回答No.1

VLOOKUP関数のTRUEオプションの典型的な使用例ですね。 通常、実務で質問のような表を作るようなことはまず考えられないことから、課題の解答のための質問と思われるので、ヒントのみ示します。 下記のサイトの中盤以降に「■リストの検索 (2)縦方向・「~以上」」というところがあり、TRUEオプションの使用例があります。これで範囲ごとの単価の抽出ができますので、これを式に組み込めば目的の計算結果が得られます。 http://www.geocities.jp/oyakamassan_m/kansu/fxkihon20.html

関連するQ&A