• ベストアンサー

エクセルでこんな計算式が作成可能でしょうか?

「A1」に手数料、「B1]に株価、「C1]に株数とある時、「D1]の株購入代金は「(B1×C1)+A1」となりますね。しかし、「A1]が下記のような変動値を持つ時にも対応可能な計算式を作れるでしょうか。(約定代金とはB1×C1値です。) 25万円以下の場合2625円 50万円以下の場合約定代金の 1.0500% 50万円超~70万円以下の場合約定代金の 0.9450%+525円 70万円超~100万円以下の場合約定代金の 0.8400%+1,260円

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

  • ベストアンサー
回答No.1

単純にIF文をならべると、 =B1*C1+if(B1*C1<=250000,2625,if(B1*C1<=500000,B1*C1*0.0105,if(B1*C1<=700000,B1*C1*0.00945+5245,B1*C1*0.0084+1260))) ということでしょうか?

damida
質問者

お礼

早速のご返事有難うございます。「IF関数」は分かりやすくて応用性の広そうな関数ですね。「もし、~なら***、もし、~なら****」という具合に条件・結果を繰り返せば良い訳ですね。小生のような素人にも応用できそうな関数です。今回のケースでも、求めていたものを100%充足してくれる関数です。早速利用させて頂きます。有難うございました。 それにしても、このサイトは素晴らしい!

その他の回答 (3)

回答No.4

普通はこういう場合、手数料の表を作りますね。    0         0     2625  250000      0.0105       0  500000      0.0945      525  700000      0.0840     1260 1000000 これでこの表に「手数料表」という名前をつけたとすると、約定代金と 手数料額の関係は、 =vlookup(約定金額, 手数料表, 2, TRUE)*約定金額 + vlookup(約定金額, 手数料表, 3, TRUE) となります。

damida
質問者

お礼

ご親切なご教示を有難うございます。 今回の小生の質問はIF関数によって充分に充たされましたが、VLOOKUP関数は(小生にとってはかなり難解な感じがしますが)よりコンピューターっぽい(?)関数なようなので、これから勉強させてもらいます。有難うございました。

  • sakeman
  • ベストアンサー率43% (67/153)
回答No.3

複雑ですが、IF関数をネストすればできます。 手数料を求めるセルA1に 「=IF(B1*C1<=250000,2625,IF(B1*C1<=500000,B1*C1*0.0105,IF(B1*C1<=700000,B1*C1*0.00945+525,IF(B1*C1<=1000000,B1*C1*0.0084+1260,"該当なし"))))」と入力します。 100万円以上は指定が無いので、「該当なし」としました。なお、株価によっては小数点以下の端数が出る場合がありますが、端数処理をしてありません。 必要であれば、株の約定代金は切り捨てですので、ROUNDDOWN関数をネストしてください。

damida
質問者

お礼

有難うございました。 IF関数を学習させてもらい、実地に応用させていこうと思います。

  • drinkers
  • ベストアンサー率25% (1/4)
回答No.2

E列に作業列を挿入するとして E列にb1*c1 A行に下記式を記入 =IF(E1<=250000,2625,IF(E1<=500000,E1*0.0105,IF(E1<=700000,E1*0.0945+525,IF(E1<=1000000,E1*0.084+1260,"それ以上")))) 最後にF列に b1*c1+a1とすればいかがでしょう f列は非表示にしてください また100以上の手数料の場合は編集してください。

damida
質問者

お礼

有難うございました。 IF関数を学習させてもらい、実地に応用させていこうと思います。

関連するQ&A