• ベストアンサー

セルに値がある行のみを抽出するやり方

表があります。 この中でチェック蘭に数値がある行のみを抽出したいのですがどうすればよいでしょうか?

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

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

E6に =IF(D6="","",COUNT($E$5:E5)+1) と記入してリストの下端までコピー貼り付けておく G6に =IF(ROW(G1)>MAX($E:$E),"",INDEX(A:A,MATCH(ROW(G1),$E:$E,0))) と記入、右にコピー、下にコピーしておく。 #お勧めしませんが別の方法 G6に =IF(ROW(G1)>COUNT($D:$D),"",INDEX(A:A,SMALL(IF(ISNUMBER($D:$D),ROW($D:$D)),ROW(G1)))) と記入し、コントロールキーとシフトキーを押しながらEnterで入力。右にコピー、下にコピー。

すると、全ての回答が全文表示されます。

その他の回答 (2)

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

こんばんは! 画像が小さくて詳細が判らないので、やり方だけ・・・ ↓の画像でSheet1のデータをSheet2に表示するようにしてみました。 一例です。 Sheet2のA2セルに =IF(COUNT(Sheet1!$C$1:$C$1000)<ROW(A1),"",INDEX(Sheet1!A$1:A$1000,SMALL(IF(Sheet1!$C$1:$C$1000=1,ROW($A$1:$A$1000)),ROW(A1)))) としてShift+Ctrl+Enterで確定! これはSheet1のE列「作業列」は必要ありませんが、配列数式になってしまいます。 この画面からコピー&ペーストする場合はSheet2のA2セルに貼り付け後、数式バー内で一度クリック! 編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 これを列方向・行方向にオートフィルでコピー! これで画像のような感じになります。 極端にデータ量が多い場合、配列数式はPCにかなりの負担を掛けますのであまりオススメできません。 そこで余計なお世話かもしれませんが、作業列を使う方法です。 Sheet1のE列に作業用の列を設けます。 作業列E2セルを =IF(C2=1,ROW(),"") としてオートフィルでずぃ~~~!っと下へコピーしておきます。 そしてSheet2のA2セル(配列数式ではありません)に =IF(COUNT(Sheet1!$C:$C)<ROW(A1),"",INDEX(Sheet1!A:A,SMALL(Sheet1!$E:$E,ROW(A1)))) という数式を入れ列方向・行方向にオートフィルでコピー! これでも同様の結果になります。 参考になりますかね?m(_ _)m

すると、全ての回答が全文表示されます。
  • tanapu
  • ベストアンサー率38% (12/31)
回答No.1

実現したい方法と少し違うかもしれませんが、 オートフィルタ機能ではダメなんですかね?

すると、全ての回答が全文表示されます。

関連するQ&A