- ベストアンサー
エクセル 条件によってデータ入力 関数
エクセルで、関数を利用してデータ集計をしたいと考えています。 A列の数値が (1)100以下だったら 「1」 (2)101~150だったら 「2」 (3)151以上だったら 「3」 と別列Bに表記する というイメージで関数を組みたいと考えています。 この例の場合だと、A列の値に応じてB列に1/2/3のいずれかの値が入力されるイメージです。 どう関数をつくればいいかわからず困っています。 よろしくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (5)
- imogasi
- ベストアンサー率27% (4737/17069)
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
お礼
ありがとうございます!
- keithin
- ベストアンサー率66% (5278/7941)
=IF(A1="","",MATCH(A1,{0,101,151},1)) などでも。 ただ1/2/3だけじゃなく,何も入力が無いときは空白の条件を追加しています。
お礼
ありがとうございます!
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 条件が3つだけであればIF関数のネストで大丈夫だと思います。 A2セル以降にデータがあるとします。 B2セルに =IF(A2="","",IF(A2<=100,1,IF(A2<=150,2,3))) としてオートフィルで下へコピーではどうでしょうか? 尚、仮に150.5のような小数点以下に数値がある場合は150を超えているので「3」が表示されます。 もし、条件がもっと増えるのであればIF関数のネストよりも表を作成しVLOOKUP関数等を使った方が すっきりすると思います。m(__)m
お礼
ありがとうございます! 条件が3つ以上になることもあるのでVLOOKUP使う方向で考えます。
- 佐藤 志緒(@g4330)
- ベストアンサー率18% (840/4653)
=if(A1=<,100,1,if(A1=<150,2,3)) どうですか
お礼
ありがとうございます!
お礼
丁寧にありがとうございます!