• ベストアンサー

Excelの関数について

Excelの初心者です。Excelの関数についてfx=IF(F5<=10,"0",IF(10<F5<30,SUM((F5-10)*20),IF(F5>=30,SUM((F5-30)*15))))という関数です。F5が10以下ならば”0”を表し、10から30まで、30以上ならばそれぞれの数式の答えを表してほしいのですが、10から30までの数字をF5に代入しても”FALSE”がでてきます。関数が間違えているのでしょうか。よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • koko88okok
  • ベストアンサー率58% (3839/6543)
回答No.5

下のような図を書いてみると数式を立てやすいです。 なお、SUM(F5-10)*20 のSUMは不要ですので、 F5<=10 →No→F5<=30 →No→(F5-30)*15 ↓          ↓ Yes         Yes ↓          ↓ 0        (F5-10)*20 上の図から次の式を立てることができます。 =IF(F5<=10,0,IF(F5<=30,(F5-10)*20,(F5-30)*15)) 「複数分岐もIF関数」 http://kokoro.kir.jp/excel/if-if.html 「IF関数 完璧マスター!」 http://kokoro.kir.jp/excel/if.html

tikamama
質問者

お礼

ありがとうございます。図で解説していただくとわかりやすいですね。

その他の回答 (4)

回答No.4

どれも的外れ。if関数で第三引数に進むのは第一引数の条件式が FALSEであった時だという基本を、誰も理解していないようですね。 最初のif関数でF5<=10を判定しているのですから、次のif関数に進 むのはF5>10に限られます。よってそこでの判定はF5<30で充分。最 後のif関数でのF5>30な判定にいたっては全く無駄です。 ついでにいうとF5<=10の条件式がTRUEのときになぜ文字列のゼロが 返っているのか謎ですね。普通は数値の0を返しませんか。 というわけで =if(F5<=10,0,if(F5<30,sum((F5-10)*20),sum((F5-30)*15)))

tikamama
質問者

お礼

ありがとうございます。かなり簡素化できるのですね。

  • ziziwa1130
  • ベストアンサー率21% (329/1546)
回答No.3

10<F5<30→AND(10<F5,F5<30)です。

tikamama
質問者

お礼

ありがとうございます。試してみます。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

次のような式になるでしょう。 =IF(F5<=10,0,IF(AND(F5>10,F5<30),(F5-10)*20,(F5-30)*15))

tikamama
質問者

お礼

ありがとうございます。試してみます。

  • mc-aumsc
  • ベストアンサー率32% (9/28)
回答No.1

2つめのIF文の中にある『10<F5<30』を『10<F5 AND F5<30』に変えてみれば、おそらく大丈夫かと…。

tikamama
質問者

補足

ありがとうございます。試してみます。

関連するQ&A