• ベストアンサー

エクセル関数です

頭の悪い私に誰か教えてください。 エクセルでA1が0以外の時に、B1<5であれば1を、B1<10であれば2を、B1<20であれば3の値を出すにはどうしたらいいのでしょうか。 きっと過去に回答はあると思うのですが探せませんでした。

  • meyer
  • お礼率36% (4/11)

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

  • ベストアンサー
  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.1

=IF(A1=0,0,IF(B1<5,1,IF(B1<10,2,IF(B1<20,3,0)))) とりあえずこれでいけます。 頑張ってくださいヽ(^。^)ノ

その他の回答 (4)

回答No.5

=IF(A1=0,"",MATCH(B1,{0,5,10,20})) はどうでしょう? 0~4は1 , 5~9は2 , 10~19は3 , 20~は4で表示されます。 (MATCH関数でシートを使用しない方法です。) シートを利用してもできます。 0以下もあるのならば、 =IF(A1=0,"",MATCH(B1,{-10,5,10,20})) のようにすれば、-10~4まで1になります。 それ以下の場合エラー表示が出ますし、20以上は全て4ですので 数字の範囲指定をした方がいいと思います。 例えば =IF(A1=0,"",IF(OR(B1<0,B1>29),"Error",MATCH(B1,{0,5,10,20})))

meyer
質問者

お礼

taisuke555さん、ありがとうございました。 今回は簡単なIF関数で事足りました。 でも本当にありがとうございました。勉強になりました。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.4

A1が0の場合と、B1が20以上の場合はどうするのですか? 非表示として =IF(OR(A1=0,B1>=20),"",CHOOSE(INT(MAX(B1,0)/5+1),1,2,3,3)) 上記の式 IF(OR(条件1,条件2),結果1,結果2)は、 条件1または条件2が成立で結果1を、両方不成立で結果2を返します。 MAXでB1が負の数値の場合、0に置換 5で割ってINTで小数点切り捨てで0,1,2,3になります。 これに1を足して、1,2,3,4 結果が4の場合3にするため、CHOOSE関数で調整 MID("1233",INT(MAX(B1,0)/5+1),1)+0 でも同じ結果です。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

多分質問題は例示であって、もっと沢山のケースが実際はある、と勘ぐって、下記関数の利用を勧めます。 D1:E4に(どこでも空きのセル範囲でよい。) 0 1 5 2 10 3 20 4 区分けが増えれば、範囲値と評価値を下行に続ける。 C1セルに =IF(A1<>0,VLOOKUP(B1,$D$1:$E$4,2,TRUE),"") といれて下方向に複写する。 A列、B列に値が入っていない場合の式の変え方は略。 $の付いているところは必ず付けること。TRUE型に対し FALSE型があるので、この問題には、TRUEを指定のこと。 1 1 1 1 4 1 1 5 2 1 9 2 1 10 3 1 19 3 1 20 4 1 21 4 1 30 4

回答No.2

IF関数でどうでしょうか? セルA1に次の式を入れます =IF(B1<5,1,IF(B1<10,2,IF(B1<20,3))) するとB1に記入した数値によって質問の内容どおりにA1に表示されるはずです。ただしB1に20以上の数値を入れると設定していないのでFALSEが表示されます。

関連するQ&A

  • エクセルの関数

    エクセル(2000)の関数について以下はどのように表せば良いでしょうか? A1セルの値が、0<~<=10の範囲であればB1を返し、        10<~<=20の範囲であればB2を返し、 ・ ・ ・        90<~<=100の範囲であればB10を返し、 それ以外であれば"err"を返す。 以上、宜しくお願い致します。

  • エクセルの関数式に関してお願いします

    エクセルの関数式で A<Bの時B-Aの値、A>Bの時A-Bの値を返す式はどのようにしたら 良いのでしょうか? IF(AND(A<B),B-A,A-B) と入れたのですが、どうもうまくいきません。 よろしくお願いします。

  • Excelの関数について教えてください!

    エクセルの関数について教えてください! Excelで複数の条件に合った値を返したいのですが、やり方がわかりません。 教えてください。 例えば、Aのセルに6、Bのセルに15と入力します。 条件は、 0<A≦5 のとき 0<B≦10・・・・・(1) 10<B≦20・・・・(2) 20<B≦30・・・・(3) 5<A≦10のとき 0<B≦10・・・・・(4) 10<B≦20・・・・(5) 20<B≦30・・・・(6) この場合に、条件に一致している(5)という値を返す方法を教えてください。 宜しくお願いします。

  • エクセルの関数で…その2

    先ほど別の質問したのですが、もう一つお願いします。 計算式の入ったいくつかのセルで、値が0以外になっているもののセルの個数を出したいです。       式   値 セルA1 (A2+A3) (10) セルB1 (B1+B2) (5) セルC1 (C1+C2) (0) の時、2個と返す

  • EXCEL(エクセル)の関数について

    こんにちは、お世話になります。 エクセルの数式で困っており、ご教示頂きたいです。 C1のセルに、値を返させたいのですが、 A1の値が◆でB1が空白セルでなければ◇ A1の値が●でB1が空白セルでなければ○ A1の値が▲でB1が空白セルでなければ△ A1の値が■でB1が空白セルでなければ□ 、と返させたいです 全ての条件が満たされない場合は空白セルを表示させたいのですが、これを可能にするにはどのような数式を用いればよいでしょうか? 宜しくお願いします。

  • 関数の書き方がわかりません。(エクセル)

    エクセル関数の書き方についてです。 宜しくお願いします。 B2にはA2からA15までに入力された値が何種類あるか出力する関数です。 B2=SUMPRODUCT(1/COUNTIF(A2:A15,A2:A15)) 15は行の最終行を B1=COUNTA(A:A) として出しています。 (実際は1000~1500位で変動します) A15の部分をB1を使って書き換えたいのですが エラーが出てうまく書けません。 お暇なときにでも回答をお願い致します。

  • Excelの関数を教えてください。

    Excelの関数で例えば シートAのB行の中の値とシートBのセルA1の値、シートAのC行の中の値とシートBのセルB1の値が一致した行のF列の値を返す関数を考えているのですが、いろいろ試してもエラーになってしまいます。(B列とC列の一致する行は1つしかありません) これができないと家に帰れません;; どなたか、教えてください! よろしくお願いします。

  • こんなExcelの関数ありますか?

    Excelで例えばA1~A50まで数字が入っている時に(1-A1)*(1-A2)*…*(1-A50)を関数で簡単に計算することはできますか? B列にB1=1-A1、B2=…と入力してB列を掛けるという以外で一発で計算する方法があったら教えてください。 よろしくお願いします。

  • Excel この関数のどこが間違っているのか

    Excelの関数で、 0<E33<19のときB33-E33の値を、 E33がそれ以外のときはB33+24-E33の値を返したいので、 関数を =IF (0<E33<19,B33-E33,B33+24-E33) としたのですがエラーになりました。 どこが間違っているのでしょうか?

  • エクセル関数で対応可能でしょうか?

    エクセルで対応可能かどうか教えて下さい。 1~65536の乱数を発生させて、1000回試行した時、 ・A 乱数値が1~16384だった時の回数 ・B 乱数値が16385~32768だった時の回数 それぞれA、Bの値は出せるのでしょうか?

専門家に質問してみよう