- ベストアンサー
エクセルで特定のデータの一部のみ抽出して別表に表示することができますか
エクセルで特定のデータの一部のみ抽出して別表に表示することができますか? たとえば、左端に名前、その隣にアンケートの質問項目(1)(2)(3)(4)の回答結果が入力されている表があるとします。 その表から、質問(1)の回答がaの人の名前のみを別表に表示したいのです。 オートフィルタではごちゃごちゃしてしまうので不可です。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- mt2008
- ベストアンサー率52% (885/1701)
VBAでやる場合。 元の表がSheet1のA:E列に入っていて、1行目には項目名が付いているとします。そして、抽出する条件はSheet2のA1:A2に入れます(項目名も)。 後は↓のマクロを動かせば、抽出条件にあった物だけの表がSheet2のC:G列に作れます。 Sub Sample() Sheets("Sheet2").Select Sheets("Sheet1").Columns("A:E").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("A1:A2"), CopyToRange:=Columns("C:G") End Sub
- imogasi
- ベストアンサー率27% (4737/17069)
「特定の」とか難しい言葉を使って質問しているが、質問するなら、簡単な模擬実例ぐらい挙げて質問すること。エクセルの関数の解説本でも、みな実例を載せて、読者に判りやすいように、回答が具体的に鳴るように解説している。特定の、などは判ってからのはなし。 ーー 条件付きの抜き出し問題、だと思うが、数日おきに出てくる質問で、WEB(例えばGoogle)で「imogasi方式」で照会すれば、沢山過去の質問例とその回答が出る。 そこには、回答のタイプとして (1)本質門にも既に出ているIndex-SMALLを使う方式 (2)作業列を使う方式(imogasi方式など) (3)フィルタオプション(フィルタでやるから>ごちゃごちゃしてしまうの、とか言うのでは) (4)VBAほか フィルタでも作業列を1列使うが =IF(AND(A1="質問1",B1="a"),1,0)のような(シートの表のデータ構成がわからないので想像) 値を全行出して、その列の1をフィルタすれば良い。 質問者の質問振りから想像して、この方法が一番良いだろう。