• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルでデータの抽出する際に困っています)

エクセルでデータの抽出する方法

このQ&Aのポイント
  • エクセルで特定の行のデータを抽出する方法を教えてください。
  • エクセルデータのC~G列が0でない行のA~Gのデータを別シートに抽出したいです。
  • 簡単な方法があれば教えていただきたいです。

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

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

こんばんは! 色々方法はありますが・・・ 一例です。 ↓の画像のようにSheet1に作業用の列を設けています。 作業列H2セルに =IF(OR(COUNTBLANK(A2:G2),PRODUCT(C2:G2)=0),"",ROW()) という数式を入れオートフィルでずぃ~~~!っと下へコピーしておきます。 (データがなくても構いませんので、しっかり下へコピー!) ※ 今後データが増えても対応できます。 Sheet2のA2セルに =IF(COUNT(Sheet1!$H:$H)<ROW(A1),"",INDEX(Sheet1!A:A,SMALL(Sheet1!$H:$H,ROW(A1)))) という数式を入れ、列方向と行方向にオートフィルでコピーすると 画像のような感じになります。 参考になれば良いのですが・・・m(_ _)m

4845454
質問者

お礼

出来ました! 分かりやすい解説、ありがとうございます。

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

その他の回答 (6)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.7

エクセルは、第1次的には、操作でやるのが筋であろう。 関数にまず頭が行く人が多いようだが。 であれば下記のような回答がまず出てくるだろう。 例データ A1:G8 a,b,・・・gは列(項目)見出し a b c d e f g 10 11 0 0 0 0 0 12 13 0 0 0 0 0 14 15 1 2 3 4 5 16 17 0 0 0 0 0 18 19 0 0 0 0 0 20 21 6 7 8 9 10 22 23 0 0 0 0 0 条件を示すセルとして I1:M2(何処でも良い) c d e f g <>0 <>0 <>0 <>0 <>0 ーー データーフィルターフイルタオプションの設定 指定した範囲にチェック リスト範囲 A1:G8 本当は$付き番地 検索条件範囲 I1:M2 抽出範囲 A16:G25 OK 結果 A16:G18 a b c d e f g 14 15 1 2 3 4 5 20 21 6 7 8 9 10 ーーー その他の方法で (1)関数や (2)VBAで はお好みでやれば良い。 (2)も全行読んで繰返す判別IF文の中にC-G列が0でないという 条件を入れたらしまい。

4845454
質問者

お礼

参考になりました、有難うございます。

すると、全ての回答が全文表示されます。
noname#204879
noname#204879
回答No.6

添付図参照 Sheet2 において、 I2: =SUM(Sheet1!C2:G2)>0 Sheet2 をアクティブにして、下記の設定で[フィルタオプションの設定]を実行 抽出先: “指定した範囲” リスト範囲: Sheet1!$A$1:$G$10 検索条件範囲: $I$1:$I$2 抽出範囲: $A$1:$G$1

4845454
質問者

お礼

参考になりました、有難うございます。

すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

No.3です! 前回書き忘れたのですが、 質問文ではC~G列すべてが「0」という条件のようですね。 前回の数式では、C~G列すべてが「0」でなくても、どれか一つでも「0」であれば同様の結果になってしまいます。 質問通りにC~G列すべてが「0」の場合であれば 作業列H2セルの数式を =IF(OR(COUNTBLANK(A2:G2),SUM(C2:G2)=0),"",ROW()) としてみてください。 何度も失礼しました。m(_ _)m

すると、全ての回答が全文表示されます。
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.4

C~G列が全て0なら除外。 C~G列に1つでも0があれば除外。 どちらですか? 例を見る限り前者のようですが。

すると、全ての回答が全文表示されます。
  • Saturn5
  • ベストアンサー率45% (2270/4952)
回答No.2

H2列にA2*B2*C2*D2.... と入力し、それが0より大きな行を抽出すればできるでしょう。

4845454
質問者

補足

その方法で抽出できましたが、空白を消すにはどうすればよろしいですか?

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

オートフィルターを使えば一瞬で出来そうですね

4845454
質問者

補足

どういうオートフィルターを使えばいいのですか?

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

関連するQ&A

専門家に質問してみよう