dポイントプレゼントキャンペーン実施中!

エクセルで単価区分のある条件式を作成したいのですがうまくいきません。
単価条件:
・ 1本~10本まで 100円/本
・11本~20本まで 150円/本
・21本以上     200円/本
基本料金 500円

たとえば
25本購入の場合
基本料金500円+10本×100円+10本×150円+5本×200円=合計4,000円

18本購入の場合
基本料金500円+10本×100円+8本×150円=合計2,700円

以上よろしく御願いします。

A 回答 (6件)

#5です。

追加です。
各段階の料金や区分の本数、基本料が変化した場合、
各数式をいちいち変更しなくてはならないので、
「挿入」-「名前」-「定義」で
第一区分を「=10」、第二区分を「=20」、
第一区分単価を「=100」、第二区分単価を「=150」、第三区分単価を「=200」、基本料を「=500」
と定義しておけば、

=(A1>第二区分)*(第三区分単価-第二区分単価)*(A1-第二区分)+(A1>第一区分)*)*(第二区分単価-第一区分単価)*(A1-第一区分)+A1*第一区分単価+基本料

と書けますから、定義の数値を変更するだけで済みます。
    • good
    • 0

たくさん買うほど高くなるって、何か変ですね。


電気料金を計算させたいのでしょうか...

=(A1>20)*50*(A1-20)+(A1>10)*50*(A1-10)+A1*100+500

でどうでしょう。
要は段階的差額を積み上げているだけです。
(A1>20)は、もしA1が20より大きければ1、そうでなければ0となります。
    • good
    • 0

B1に


=MIN(10,A1)*100+(A1>10)*(MIN(A1,20)-10)*150+(A1>20)*(MAX(A1,20)-20)*200+500
データ例
A列  B列
1600
2700
3800
4900
51000
61100
71200
81300
91400
101500
111650
121800
131950
142100
152250
162400
172550
182700
192850
203000
213200
223400
233600
243800
254000
264200
274400
284600
294800
305000
多数個の場合のほうが単価が高くなる例?市場的に信じられないが。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/03/01 08:26

A1セルに本数が入力されているとします。


=IF(A1>0,IF(A1>20,(A1-20)*200+2500,IF(A1>10,(A1-10)*150+1000,A1*100))+500,"")
    • good
    • 0
この回答へのお礼

ありがとうございました。条件設定を少ない方から設定していたせいでなかなかうまくいかないことがわかりました。

お礼日時:2007/03/01 08:36

既に私より完成度の高い回答がついているのが心苦しいですが(苦笑)



=IF(A1>=21,(A1-20)*200+3000,IF(A1>=11,(A1-10)*150+1500,A1*100+500))

こんな数式でもできたりします。
    • good
    • 0
この回答へのお礼

ありがとうございます。いずれも参考になりました。

お礼日時:2007/03/01 08:37

本数がA1セルに入力されるとして



=IF(A1>0,MAX(A1-20,0)*200+MAX(MIN(A1-10,10),0)*150+MIN(A1,10)*100+500,0)

ではどうでしょうか?
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/03/01 08:37

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