• ベストアンサー

エクセル 条件によってデータ入力 関数

エクセルで、関数を利用してデータ集計をしたいと考えています。 A列の数値が  (1)100以下だったら 「1」 (2)101~150だったら 「2」 (3)151以上だったら 「3」 と別列Bに表記する というイメージで関数を組みたいと考えています。 この例の場合だと、A列の値に応じてB列に1/2/3のいずれかの値が入力されるイメージです。 どう関数をつくればいいかわからず困っています。 よろしくお願いします。

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

  • ベストアンサー
回答No.4

#3です。早とちりしてました。m(_ _)m 右側に書いた条件の表が違ってますね 案5も修正+α =MIN(3,MAX(1,INT((A2-0.5)/50)))

kaz3278
質問者

お礼

丁寧にありがとうございます!

その他の回答 (5)

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

3区分ぐらいならIF関数のネストでもできる。しかし多くなるとIF関数式はカッコのすうとかあわせにくい。また何を屋って居るか他人にはわかりにくい・ エクセルの常識の関数VLOOKUP関数の(ここの質問ではFALSE型が多いが)(多分本家の方の)TRUE型を使うのが定石。 例データ 検索表 H1:I3 0 1 101 2 151 3 A列A1以下にデータを入れる B列B1は =VLOOKUP(A1,$H$1:$I$3,2,TRUE) と入れて式を下方向に複写。 丁寧には =IF(A1="","",VLOOKUP(A1,$H$1:$I$3,2,TRUE)) 結果 0 1 20 1 30 1 80 1 90 1 100 1 110 2 120 2 130 2 140 2 150 2 160 3 170 3 180 3

kaz3278
質問者

お礼

ありがとうございます!

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.5

=IF(A1="","",MATCH(A1,{0,101,151},1)) などでも。 ただ1/2/3だけじゃなく,何も入力が無いときは空白の条件を追加しています。

kaz3278
質問者

お礼

ありがとうございます!

回答No.3

応用がきくと思われる案として 案1 B2セルに =MATCH(A2,$H$2:$H$4) 案2 C2セルに =VLOOKUP(A2,$H$2:$I$4,2) 案3 D2セルに =INDEX($I$2:$I$4,MATCH(A2,$H$2:$H$4)) 案4 E2セルに =LOOKUP(A2,$H$2:$I$4) 案5 F2セルに =MAX(1,INT(A2/50)) 案2~案4は同じ考え方です。 空白処理してません。添付図参照

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! 条件が3つだけであればIF関数のネストで大丈夫だと思います。 A2セル以降にデータがあるとします。 B2セルに =IF(A2="","",IF(A2<=100,1,IF(A2<=150,2,3))) としてオートフィルで下へコピーではどうでしょうか? 尚、仮に150.5のような小数点以下に数値がある場合は150を超えているので「3」が表示されます。 もし、条件がもっと増えるのであればIF関数のネストよりも表を作成しVLOOKUP関数等を使った方が すっきりすると思います。m(__)m

kaz3278
質問者

お礼

ありがとうございます! 条件が3つ以上になることもあるのでVLOOKUP使う方向で考えます。

回答No.1

  =if(A1=<,100,1,if(A1=<150,2,3)) どうですか  

kaz3278
質問者

お礼

ありがとうございます!

関連するQ&A