dポイントプレゼントキャンペーン実施中!

エクセルで特定のデータの一部のみ抽出して別表に表示することができますか?

たとえば、左端に名前、その隣にアンケートの質問項目(1)(2)(3)(4)の回答結果が入力されている表があるとします。
その表から、質問(1)の回答がaの人の名前のみを別表に表示したいのです。
オートフィルタではごちゃごちゃしてしまうので不可です。

よろしくお願いします。

A 回答 (3件)

>オートフィルタではごちゃごちゃしてしまうので不可です。



どうして、オートフィルタが不都合なのかわからないのですが、関数でリアルタイムで表示したいという意味なら、添付ファイルのレイアウトなら以下のような数式になります(まとめ方のレイアウトによって適宜数式を変更する必要があります)。

H2セルに以下の式を入力し下方向および右方向にオートフィルします。

=INDEX($A:$A,SMALL(INDEX(($B$2:$B$100<>H$1)*1000+ROW($B$2:$B$100),),ROW(A1)))&""
「エクセルで特定のデータの一部のみ抽出して」の回答画像1
    • good
    • 2

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
「エクセルで特定のデータの一部のみ抽出して」の回答画像3
    • good
    • 1

「特定の」とか難しい言葉を使って質問しているが、質問するなら、簡単な模擬実例ぐらい挙げて質問すること。

エクセルの関数の解説本でも、みな実例を載せて、読者に判りやすいように、回答が具体的に鳴るように解説している。特定の、などは判ってからのはなし。
ーー
条件付きの抜き出し問題、だと思うが、数日おきに出てくる質問で、WEB(例えばGoogle)で「imogasi方式」で照会すれば、沢山過去の質問例とその回答が出る。
そこには、回答のタイプとして
(1)本質門にも既に出ているIndex-SMALLを使う方式
(2)作業列を使う方式(imogasi方式など)
(3)フィルタオプション(フィルタでやるから>ごちゃごちゃしてしまうの、とか言うのでは)
(4)VBAほか
フィルタでも作業列を1列使うが
=IF(AND(A1="質問1",B1="a"),1,0)のような(シートの表のデータ構成がわからないので想像)
値を全行出して、その列の1をフィルタすれば良い。
質問者の質問振りから想像して、この方法が一番良いだろう。
    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!