• ベストアンサー

エクセル 複数行を別のシートに摘出

いつもお世話になっております。 内容は添付画像にてご確認ください。 例え B1に”○”等の特定の文字が入力されたら、その○印の行すべてを下記に摘出。 また可能であれば、同じように別のシートに摘出したいです。 摘出は最大で20件ぐらいです。 エクセルは人類を救うと思っている方、よろしくお願い致します。 ※いろいろアイデアはでるのですが、勉強不足で・・・・・・ 2007Verですー

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.4

実際のリストに入力されているデータ(数字データはなく文字列だけのデータ)や、表のレイアウト(例示のようにリストの中に完全な空白行があるなど)、あるいは抽出するデータ(A列の番号も飛び飛びでそのまま抽出するのですか?)など、によって、最も簡便と思われる操作法が異なります。 もしC列にはデータが埋まっており、A列の番号は単なる連番で(ID番号などではない)、抽出するデータで新たに連番を振りたいなら(またはこの番号は抽出する必要が無いなら)、A列の番号の列には「=IF(C2="","",SUBTOTAL(3,$C$2:C2))」のような関数を入れておき、オートフィルタで○を抽出し、その結果をVLOOKUP関数で別シートに自動抽出するのが最も簡単です(元データがSheet1の場合)。 =IFERROR(VLOOKUP(ROW(1:1),Sheet1!$A:$L,COLUMN(A:A),0),"") また、ご質問の通りリスト内に空白行があり、B2セル以下の○の付いた列を抽出したいなら、データ範囲が大きくなると動きが重くなるので使いにくくなりますが、以下のような関数を使って表示することもできます(B列以降を抽出する場合、この式を入力して下方向および右方向にオートフィル)。 =INDEX(Sheet1!B:B,SMALL(INDEX((Sheet1!$B$2:$B$20<>"○")*10000+ROW($B$2:$B$20),),ROW(1:1))) 抽出データがすべて文字列なら数式の最後に「&""」を追加してください。 日付を含む数値データが含まれている場合は、表示データ範囲を選択してセルの書式設定でユーザー定義にして「0;-0;;@」のように設定するのが簡単かもしれません。 #ExcelなどのOfficeソフトはバージョンによって使用できる機能や操作方法が大きくことないますので、質問の際には必ずバージョンを明記するようにしましょう。

hkazuyoshih
質問者

お礼

ありがとうございました。 やってみますーw

その他の回答 (3)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

シート1にお示しの表が有るとしてL2セルには次の式を入力して下方にドラッグコピーします。 =IF(B2="","",COUNTIF(B$2:B2,"○")) お求めの表をシート2に表示させるとしてシート2の2行目にはシート1の項目名を並べます。 A3セルには次の式を入力してK3セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(ROW(A1)>MAX(Sheet1!$L:$L),"",INDEX(Sheet1!$A:$K,MATCH(ROW(A1),Sheet1!$L:$L,0),COLUMN(A1)))

hkazuyoshih
質問者

お礼

みなさんすごいですー たすかりました。

  • ji-young
  • ベストアンサー率24% (25/101)
回答No.2

簡単に1行目でフィルタをかけ、B列のプルダウンで〇を選べば欲しい表になります。 それをマウスで選択して別シートにコピーする。

hkazuyoshih
質問者

お礼

ありがとうございました。 フィルタが一番簡単でせいかくですよねw

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

A2セルに =IF($B$1=B2,ROW(A1),"") 若しくは =IF($B$1=B2,COUNTIF($B$2:B2,B2),"") と記入 別シートなどのA1セルに =IF(ROW(A1)>COUNT(Sheet1!A:A),"",SMALL(Sheet1!A:A,ROW(A1))) と記入 B1セルに =IF($A1="","",VLOOKUP($A1,Sheet1!$A:$Z,COLUMN())) と記入、右にコピー、下にコピー。

hkazuyoshih
質問者

お礼

ありがとうございました。 間違えてしまいました。 B列に”○”が記入されたらが正しいです^^ またよろしければ教えてください。 ありがとうございます

hkazuyoshih
質問者

補足

うはーーっと B列に”○”が記入したらでした;; B1って書いてしまいました。 すみません。

関連するQ&A

専門家に質問してみよう