EXCELでIF関数を使って、下記のようなことをしたいのですがうまくいきません。

『もしも、A1のセルが5以下ならばA1×1000を入れなさい。もしもA1のセルが6以上で10以下であれば、A1×2000を入れなさい。もしもA1が11以上であればA1×3000を入れなさい」

としたいのですがうまくいきません。よろしくお願いします。

A 回答 (4件)

#1だ。

うん、よく考えたらSUMPRODUCT関数全く意味ない。
    • good
    • 0

この回答へのお礼

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

お礼日時:2008/05/18 16:30

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)
などとします。

ご参考まで...
    • good
    • 0

この回答へのお礼

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

お礼日時:2008/05/18 16:28

=IF(A1<=5,A1*1000,IF(A1<=10,A1*2000,A1*3000))


ただし、A1は整数であること

どのような数式を考えていたのでしょうか
うまくいかないという数式を補足してもらえると何を間違えているのかを指摘することができます
    • good
    • 0

この回答へのお礼

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

お礼日時:2008/05/18 16:25

一例。


=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)
    • good
    • 0

この回答へのお礼

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

お礼日時:2008/05/18 16:21

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

このQ&Aを見た人はこんなQ&Aも見ています

注目の記事

縦書きと横書きはどちらが読みやすい?

普段何気なく読んでいる文章ですが、縦書きか横書きか、意識したことはありますか?制作側としては読み手はどちらの方が読みやすいと思うかはとても大きな問題です。教えて!gooには、 「『横書き』と『縦書き』、...

このQ&Aを見た人が検索しているワード


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ