• 締切済み

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

  • Excel IF関数を短くする式を教えて下さい。

    ExcelのIF関数が長くなりすぎて困っています。 短くする方法あれば教えてください。 =IF(A1="",0,IF(A1<4.5,A1,4.5))+IF(B1="",0,IF(B1<4.5,B1,4.5)) のように"4.5より数が小さい場合はセルの値を返し、 4.5より大きい場合は4.5を返す"というのを繰り返し合計していきます。 60セル以上を合計したいのですが、それだと数式が長すぎて・・・ 何か短くする良い式があれば教えて下さい。 よろしくお願いします。

  • エクセルIF関数について

    エクセルIF関数について お世話になっております。エクセルのIF関数について教えてください。 例えばA1に任意で入力する数字があるとします。 このA1の数字が4以下なら○、10以上なら×、5-9の間なら何も表示しないというような関数を組みたいのですが、どなたか教えていただけないでしょうか? たぶん、IF関数だと思いますが、もし違うならその関数を教えてください。 よろしくお願いします。

  • エクセルIF関数について

    エクセルIF関数について A2セルにA1セルが空白なら空白。8:00ならば、8:00。8:00>ならA3セルに(そのままの値を)表示せよ。 という関数を入れたいのですが、どの関数をどのように定義すれば良いのかわかりません。 IF関数かな?と思ったのですが、IF関数で偽のときは、「別のセルに入力せよ」などというような定義って出来るのでしょうか? どなたか教えてください。

  • エクセル関数 以上以下

    エクセルでこのような関数はありますでしょうか? 例)A3のセルに「3」の数字が入力されている。   このA3セルの数字が「=2>A3>=5(2以上5以下)」という条件に合う場合、A4セルに「F」という記号を入力されるようにする、条件に合わない場合はなにも入力されない。  という機能はありませんでしょうか?  

  • エクセルのif関数で8つ以上ある場合について教えて下さい。

    エクセルのif関数で8つ以上ある場合について教えて下さい。 バージョン:エクセル2002 以下のような場合       1,000未満 → A 1,000以上 1,500未満 → B 1,500以上 2,000未満 → C 2,000以上 2,500未満 → D 2,500以上 3,000未満 → E 3,000以上 3,500未満 → F 3,500以上 4,000未満 → G 4,000以上 4,500未満 → H 4,500以上 5,000未満 → I 5,000以上       → J 現在のエクセルバージョンでは、 if関数の7レベルを超えてしまい、Lookup関数では一致した値しか拾ってくれません。 このような場合、以上、未満などの比較演算子を使用した範囲内の数値の分岐結果を取得するには どのようにすればよいのでしょうか? 現在は、次のように表を作成して行っております。     A     B   C  ←セル列  1        1,000  A  2  1,000   1,500  B  3  1,500   2,000  C  4  2,000   2,500  D  5  2,500   3,000  E  6  3,000   3,500  F  7  3,500   4,000  G  8  4,000   4,500  H  9  4,500   5,000  I  10  5,000        J  ↑ セル行 別の関数などを使用してできる場合(VBA不可)などでも構いませんので、 どなたかご教授願います。 宜しくお願いします。

  • エクセル関数 指定する以上以下の数値算出 

    エクセルの関数でお伺いしたいのですが、例えばあるひとつのセル(例:A1)に137万という数値があったとして、他の各(例:A2とA3とA4)セルに下記条件の各数値を割り出して行きたいのですがCOUNTIFだと範囲がセルひとつになるのでうまくゆきません。 A2→50万以下の枠の数値・・・50万 A3→50万以上100万以下の枠の数値・・・50万 A4→100万1円以上から300万以下の枠の数値・・・37万 どなたか関数の設定を教えて頂けないでしょうか?宜しくお願いします。

  • エクセルIF関数について

    エクセルIF関数について、 エクセルのシートが「シート1」「シート2」と存在するとします。 「シート1」上に下記数式があります。 =IF(A1>1,シート2!A1,シート2!A2) 「シート1」の「A1」が1より大きい場合、 「シート2」の「A1」を返し、 1以下の場合は「シート2」のA2を返す、 シートをまたがってIF関数を使用したいのですが、 うまくいきません。 何か方法はあるのでしょうか? お手数で申し訳ございませんが、 どうぞよろしくお願いいたします。

  • ExcelのIF関数で困ってます・・・

    ExcelにあるIF関数についてです。 条件(やりたいこと)は、『もし、そのセルに数値が入っていたら、~をしなさい。』と言う命令の関数を作りたいのですが、 『if(A1=』の後がどう入れたらよいのかわからずに困っています。どなたかわかる方がいましたらアドバイスよろしくお願いします。

  • エクセルの関数で以下のようなのってありますか?

    エクセルの関数で以下のようなのってありますか? A1からK1まで以下の数字が入ってるとします。(左のセル以上の数字が入ります) 1 2 3 4 4 5 5 6 7 7 7 んで、左から検索をしていって、初めて7が現れる行数を関数で求めたいのです。 マクロではなく関数でお願いします。 -- エクセル2003

  • Excel 関数ifについて

    Excel 関数ifについて セルa1から a100の中に、たとえば 好き ということばがあるかどうかをチェックするとき、 if(countif(a1:a100,"*好き*"),1,0) と指示されました。 本来ならcountifが1より大きければ1を返すのですから、 if(countif(a1:a100,"*好き*")>0,1,0)ですよね? 論理式の >0って 省略できるんですか? 正なら真、0以下なら偽と解釈されるんでしょうか?

専門家に質問してみよう