[[20080220142228]] 『複数の条件により異なる計算式にて数値を求めたい』(ドキン) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『複数の条件により異なる計算式にて数値を求めたい』(ドキン)
 Excel2003SP2,WinXPです。

 A1に数値(1000単位の)が入っています。

 A1が1000以上9000以下    ならば、A2=A1*0.05
 A1が10000以上49000以下  ならば、A2=A1*0.1-1000
 A1が50000以上79000以下  ならば A2=A1*0.2-5000
 A1が80000以上99000以下    ならば A2=A1*0.3-7000
 A1が100000以上199000以下 ならば A2=A1*0.4-9000
 A1が200000以上      ならば A2=A1*0.5-15000
 A1が上記以外(1000未満)  ならば、A2=false

 となるように計算式を1セルA2に、1セルA1の値の条件、
 複数の条件により異なる計算式にて数値を求めたいのですが、
 うまく式ができません。
 どなたかご教授願います。

 =CHOOSE(SUM(COUNTIF(A1,">="&{1,10,50,80,100,200}*10^3))+1,
  FALSE,A1*0.05,A1*0.1-1000,A1*0.2-5000,A1*0.3*7000,A1*0.4-9000,A1*0.5-15000)

 (ROUGE)

 VLOOKUPで求める方法です。
 例として B1:D6 にリストを作成します。

     A       B      C        D
1   100	   1000	 0.05	   0
2  FALSE	  10000	 0.1	1000
3	  50000	 0.2	5000
4	  80000	 0.3	7000
5	 100000	 0.4	9000
6	 200000	 0.5    15000

 A2=IF(A1<1000,FALSE,A1*VLOOKUP(A1,$B$1:$D$6,2)-VLOOKUP(A1,$B$1:$D$6,3))	 
 (gon-2)		


(ROUGE)さん
 できました!どうもありがとうございました。
 IF関数ばかりしか頭になく苦労しておりました。
 A1*0.3*7000は
 A1*0.3-7000
 の誤記ですよね。

 ちなみに、条件が千単位でなかった場合はどうなるのでしょうか?
 *10^3を除き、直接○(数値)以上の○(数値)を入れれば出来ますか?

  (gon-2)さん
 こちらの方法も参考になりました、どうもありがとうございます。 

 (ドキン)


 > の誤記ですよね。
 すいません。間違いです。

 > *10^3を除き、直接○(数値)以上の○(数値)を入れれば出来ますか?
 と思います。

 (ROUGE)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.