[[20050614121800]] 『個数によって単価が変わる関数の条件追加について』(うえ) ページの最後に飛ぶ

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

 

『個数によって単価が変わる関数の条件追加について』(うえ)

はじめまして。過去のスレッドを読んだのですが、見当たらなかったので質問させてください。
条件によって数値を表すIF関数の追加のやり方がわかりません。
たとえば、以下のような例です。

  A    B   C      D
    

1 りんご  9個  単価200円 小計1800円

2 りんご  20個  単価100円 小計2000円 

3 りんご  80個  単価50円  小計4000円

C列の単価を計算式として以下のような条件にしたいのです。

りんごを10個以下注文すると単価が200円、
10個以上だと単価が100円、
50個以下だと単価が80円、
50個以上だと単価が50円
という風に、個数によって単価を表す数式にしたいのです。

「10個以下なら単価200円、それ以上なら単価100円」というような条件式はできるのですが、それ以上に条件を追加したい場合はどうしたらよいでしょうか。
どなたかご存知の方がいらしたら教えてください!

ちなみにOSはWinXPのエクセル2002とMACエクセル2000を使っています。
よろしくお願い致します


 単価表を作成する。
http://miyahorinn.fc2web.com/faq/faq002.html#4
(みやほりん)

さっそくのお返事ありがとうございます。
やはりどこかに単価表を設けないと難しいのでしょうか…
単純にIF()の中に追加できる方法はないかなと思っていたのですが。。。

 可能だが、実務上、
・式が長くなる
・条件が変わったとき式の修正が面倒
の理由によりお勧めはしない。
特に複数の数式が入力されていて、変更があった場合は
全ての数式を変更しなくてはならなくなる。
単価表を設ければ、単価表を修正すればことはすむ。
別シートでもよいし、非表示にしておいても良いのだから、
「余計な表が増えてシートが汚れる」という思いは捨てるべき。
(みやほりん)

 みやほりんさんのアドバイスを参考にされたうえで、
 IF関数の使い方と言う意味でご回答いたしますと、

 単価のセル(C1)に、=IF(B1="","",IF(B1<10,200,IF(B1<20,100,IF(B1<50,80,50))))
 とすればご希望のようになると思います。
 このようにIFの中にIFを使うことが出来ますが、括弧の中に入るIFは7つまでと制限されています。

 なお、>10個以上だと単価が100円、50個以下だと単価が80円、50個以上だと単価が50円
        ~~~~~~~~                 ~~~~~~~~                   ~~~~~                       
 この辺の条件整理が出来ていないようでしたので、
 勝手に10個以上20個未満が100円、21個から50個未満が80円としてみました。
 (sato)


なるほど!みやほりんさん、satoさんありがとうございます!
satoさん、説明が下手ですいませんでした。おっしゃるような条件式です。

「できること」と「しないほうがいいこと」の差がお二人の意見でとってもよくわかりました!
お忙しいのに時間を割いてくださってありがとうございます。
お礼が遅くなりすいませんでした。


コメント返信:

[ 一覧(最新更新順) ]


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