• ベストアンサー

エクセル関数です

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

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

  • ベストアンサー
  • 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% (7417/18945)
回答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/17070)
回答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