- ベストアンサー
手数料計算(エクセル)
エクセルを使い、手数料の計算をしたいです。 セルA1が「a」で、かつセルB1が以下の範囲内のとき⇒ 0.01≦B1≦0.99 ⇒ 0.10 1.00≦B1≦9.99 ⇒ 0.25 10.00≦B1≦24.99 ⇒ 0.50 25.00≦B1≦49.99 ⇒ 0.75 50.00≦B1≦199.99 ⇒ 1.00 200≦B1 またはセルA1が「b」のとき ⇒0.05 上記の式を一つのセルの中に入れて、結果⇒の数値を表示させるようにしたいです。 どなたかわかる方ご回答宜しくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは! ↓の画像のようにSheet2に表を作成しておく方法もあります。 薄い緑色部分だけでOKなのですが、解りやすくするためにB列を作っています。 画像ではSheet1のC2セルに =IF(COUNTBLANK(A2:B2),"",INDEX(Sheet2!$C$2:$D$7,MATCH(B2,Sheet2!$A$2:$A$7,1),MATCH(A2,Sheet2!$C$1:$D$1,0))) という数式を入れオートフィルで下へコピーしています。 尚、A列が「a」か「b」の2種類だけで「b」の場合は「a」の1/2と決まっているのであれば、 Sheet2の表のA~C列だけを利用して Sheet1のC2セルは =IF(COUNTBLANK(A2:B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$7,3,1)*IF(A2="a",1,0.5)) という数式にしてもOKだと思います。m(_ _)m
その他の回答 (3)
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
おそらく、こんな感じで良いと思うけど =IF(A1="a",HLOOKUP(B1,{0.01,1,10,25,50;0.1,0.25,0.5,0.75,1},2),IF(A1="b",0.05,"")) 0.999はないのかな? 200 または、200を超える値が入力された場合も考慮するのかな?
- KURUMITO
- ベストアンサー率42% (1835/4283)
仮にシート1にお求めの表があり、シート2には条件を記入したデータベースが有るとします。 シート2の表では例えばA1セルに0、A2セルに0.01、A3セルには1、A4セルには10、A5セルには25、A6セルには200と入力し、B1セルは空白にして、B2セルには0.1、B3セルには0.25、B4セルには0.50、B5セルには0.75、B6セルには1と入力します。 その上で例えばシート1のC列にデータを表示させるのでしたらC1セルには次の式を入力すればよいでしょう。 =IF(AND(A1="a",B1>=0.01),INDEX(Sheet2!B:B,MATCH(B1,Sheet2!A:A,1)),IF(A1="b",0.05,"")) 必要により上記の式を下方にオートフィルドラッグコピーします。
- hallo-2007
- ベストアンサー率41% (888/2115)
A1がaで の条件は後回しにして 残りの部分は、別途対応表を準備して Vlookup関数です。 例 シート1 A B a 6 =VLOOKUP(B1,シート2!A:B,2,TRUE) シート2 0 0.1 1 0.25 10 0.5 25 0.75 50 1 200 =シート1!B1 A1が aの場合とそれ以外で分けるには IF関数ですね =IF(A1="a","どうするか",VLOOKUP(B1,シート2!A:B,2,TRUE))
補足
ご回答ありがとうございます! 式を組んでみたらちゃん表示されました! ちなみに、0.999もあります…あと200を超える場合は2を表示させたいのですが…