• 締切済み

EXCELでIF関数を使って、以上や以下の式を教えてください

EXCELでIF関数を使って、下記のようなことをしたいのですがうまくいきません。 『もしも、A1のセルが5以下ならばA1×1000を入れなさい。もしもA1のセルが6以上で10以下であれば、A1×2000を入れなさい。もしもA1が11以上であればA1×3000を入れなさい」 としたいのですがうまくいきません。よろしくお願いします。

みんなの回答

回答No.4

#1だ。うん、よく考えたらSUMPRODUCT関数全く意味ない。

kerosuke1
質問者

お礼

はい。1のやり方でうまくいきました。 本当にありがとうございました。 また、教えてください(*^_^*)

noname#79209
noname#79209
回答No.3

If関数を使わなくても、 =A1*1000*(1+(A1>=6)+(A1>=11)) でも可能です。 A1が5以下の時: =A1*1000*(1+0+0) → A1*1000 A1が6以上、10以下の時: =A1*1000*(1+1+0) → A1*2000 A1が11以上の時: =A1*1000*(1+1+1) → A1*3000 私は条件が3つ以上の時は、IFを「入れ子」にするとわかりづらくなるので できるだけこの形式にするようにしています。 なお、(A1>=6)は通常「TRUE」「FALSE」が返されますが、 計算式の中では、それぞれ「1」と「0」として扱われます。 また、IF関数を使う場合は、式の大外(おおそと)ではなく、 なるべく式の中程で使うようにしています。 例;(条件が2つの場合) =IF(A1<=5,A1*1000,A1*2000) ではなく、 =A1*1000*IF(A1<=5,1,2) などとします。 ご参考まで...

kerosuke1
質問者

お礼

ありがとうございました。 1の方の式で希望のものができました。 ご指摘の通り、ifで入れ子状態になってわからなくなってしまったのです。 教えていただいたことを参考にまたやってみたいと思います。

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.2

=IF(A1<=5,A1*1000,IF(A1<=10,A1*2000,A1*3000)) ただし、A1は整数であること どのような数式を考えていたのでしょうか うまくいかないという数式を補足してもらえると何を間違えているのかを指摘することができます

kerosuke1
質問者

お礼

ありがとうございます。 1の方のやり方で、希望のものができました。 今度からうまくいかなかった式も載せて、教えてもらうように しますね。 ありがとうございました。

回答No.1

一例。 =IF(A1<=5,A1*1000,IF(AND(A1>=6,A1<=10),A1*2000,IF(A1>=11,A1*3000,))) 問題文の条件から当然10.5のときは処理は行われないため0が表示される。 排他的な条件であればこんなのもありかな? =SUMPRODUCT((A1<=5)*A1*1000+(AND(A1>=6,A1<=10))*A1*2000+(A1>=11)*A1*3000)

kerosuke1
質問者

お礼

できました。上の方の式でやりたいことができました。 ありがとうございました。 とても解りやすく教えていただいて、本当にありがとうございます。

関連するQ&A

専門家に質問してみよう