プロが教える店舗&オフィスのセキュリティ対策術

株の売買手数料をエクセルで簡単に計算したいんです。
以下の、手数料をエクセルの計算式で表すとどうなります
でしょうか。

10万円まで 145円/1回
20万円まで 194円/1回
50万円まで 358円/1回
100万円まで 639円/1回
150万円まで 764円/1回
3,000万円まで 1,209円/1回


IF関数とAND関数を使ってみましたが、どうしても
うまく動いてくれません。スゴ腕の方、宜しくお願いいたします!

A 回答 (3件)

手数料の表をシート上に作った方が良いと思います。


添付の図ではA3:B10までが手数料の表になっています(30000001円以上の時の手数料の記載が無かったのでとりあえず9999円にしてあります)。

A1セルに売買金額が入っているとして、B1セルに↓で、手数料が出ます。
=LOOKUP(A1,A4:B10,B4:B10)
「エクセル関数を教えて下さい(段階的な手数」の回答画像2
    • good
    • 0
この回答へのお礼

ありがとうございました。LOOKUPは1対1対応しかできないと思っていたので、「B4:B10」のように入れれば幅を持たせたひっぱりかたができるとは知りませんでした。ご教示いただいたシンプルな方法でうまくいきました。深謝いたします。

お礼日時:2012/07/11 10:10

IF関数などでは基本条件が多くなった場合には対応ができなくなります。


一般には基本の条件となる表をデータベースとして別のシートに用意してVLOOKUP関数などを使って対応します。
例えばシート1がお求めの表としてシート2に基本となる条件を入力します。
シート2のA1セルには0を、A2セルには100001、A3セルには200001、A4セルには500001・・・・のように入力します。
B1セルには145、B2セルには194、B3セルには358・・・・のように入力します。
その上で例えばシート1でC1セルから下方に売買高が有って、その手数料をD列に表示させるのでしたらD1セルには次の式を入力して下方にドラッグコピーします。

=IF(COUNT(C1)=0,"",VLOOKUP(C1,Sheet2!A:B,2,TRUE))

なお、シート2の表である配位を設定するのでしたらSheet2!A$1:B$100などのようにセル番地の一部が絶対参照になるような形で使うことが必要ですね。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2012/07/11 10:08

>IF関数とAND関数を使ってみましたが、どうしても


>うまく動いてくれません。スゴ腕の方、宜しくお願いいたします!

どのようにして失敗したのかも記載してください。

例えばIF文で処理するのであれば、
2000万円は150万円以上であり、同時に10万円以上なので

例えば売買金額がA1にあったとすると
 =if(a1>1500000,1209,(if(a1>1000000,639,(if(a1・・・・・・)))) ともできますし、
 
逆に
 =if(a1<=100000,145,(if(a1<=200000,194,(if(a1・・・・・・)))))ともできます。

表を使ってもできますから、まあ色々考えて見てください。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2012/07/11 10:08

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