• ベストアンサー
  • すぐに回答を!

エクセルでデータの抽出する際に困っています

エクセルで特定の行のデータを抽出する方法を教えてください。 抽出方法を以下に示します。     A   B   C   D   E   F   G   ---------------------------------- 1l  10   11   0   0   0   0   0 2l  12   13   0   0   0   0   0 3l  14   15   1   2   3   4   5 4l  16   17   0   0   0   0   0 5l  18   19   0   0   0   0   0 6l  20   21   6   7   8   9   10 7l  22   23   0   0   0   0   0 というような感じのエクセルデータに対して、     A   B   C   D   E   F   G    ---------------------------------- 1l  14   15   1   2   3   4   5 2l  20   21   6   7   8   9   10 というように、C~G列が0でない行のA~Gのデータを別シートに抽出したいのですが、 簡単な方法があれば教えていただきたいです。 よろしくお願いします。

共感・応援の気持ちを伝えよう!

  • 回答数7
  • 閲覧数143
  • ありがとう数3

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

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

こんばんは! 色々方法はありますが・・・ 一例です。 ↓の画像のように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

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

関連するQ&A

  • エクセルでデータ抽出するには?

    まったくのエクセル初心者です。 エクセルで、シート1のデータの特定科目を抽出してシート2にコピーしたいのです。 シート1のデータは 5/1 消耗品    2500 5/3 水道光熱費  8000 5/5 消耗品     700 5/7 消耗品    1200 この中から消耗品と記入されている行をシート2に抽出したいのです。 マクロは全然わかりません。。簡単にできる方法は無いでしょうか?よろしくお願いします。

  • Excelでのデータ抽出

    Excelで外部結合風のデータ抽出を教えてください。 シートAとシートBに表形式のデータがあり、 シートAのA列の値とシートBのA列の値が一致するシートBの 行を抽出するのが目的です。 具体的には次のような感じです。 シートA         シートB ----------------  ---------------- A列 | B列 | C列     A列 | B列 | C列 ----------------  ---------------- 2  | 2B  | 2C      1  | 1BB | 1CC ----------------  ---------------- 4  | 4B  | 4C      2  | 2BB | 2CC ----------------  ---------------- 6  | 6B  | 6C      3  | 3BB | 3CC ----------------  ---------------- ↓ シートB ---------------- A列 | B列 | C列 ---------------- 2  | 2BB | 2CC ---------------- 以下以外の方法がありましたら教えてください。 1)アクセスに両シートのデータを取り込み、2つのテーブルを外部結合で連結させる。 2)マクロで二重ループをつくり、A列が一致した行を取り出す。 よろしくお願いします。

  • 必要なデータを抽出したい

    必要なデータを抽出したい    A   B    C   D ・・・ 1 7/1   101   102  103 2 7/2   101   103 3 7/3   105   203 4 7/4   103   205 5 7/5   101   202 ・ ・    ・ ・ ・    ・ ・ ・    ・ Excelで上の様にA列に日付、B行列以降に数字が書かれているシートから、抽出したい数字が含まれている行を別シートに抽出するマクロはどのように書けばよろしいのでしょうか。 技術者の方、よろしくお願いします。 例えば、101が含まれているデータを抽出したら、sheet2に    A   B    C   D 1 7/1   101   102  103 2 7/2   101   103 3 7/5   101   202 となるようにしたいのです。

その他の回答 (6)

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

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

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

  • 回答No.6
noname#204879

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

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

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

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

共感・感謝の気持ちを伝えよう!

  • 回答No.4
  • mt2008
  • ベストアンサー率52% (885/1701)

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

共感・感謝の気持ちを伝えよう!

  • 回答No.2
  • Saturn5
  • ベストアンサー率45% (2270/4952)

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

共感・感謝の気持ちを伝えよう!

質問者からの補足

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

  • 回答No.1
  • myi333
  • ベストアンサー率34% (10/29)

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

共感・感謝の気持ちを伝えよう!

質問者からの補足

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

関連するQ&A

  • エクセルでデータ抽出

    こんにちは、royroyです。 エクセルで、シート1の収支データの特定科目を抽出して シート2にコピーしたいのです。 シート1のデータは 日 付 科 目 収入  支出 5/1 食費      2500 5/3 衣服代     3000 5/3 雑費       200 5/6 食費      1200 5/7 雑費       500 5/8 給料 20000  で、この中から食費の行をすべて抽出して シート2に 5/1 食費      2500 5/6 食費      1200 のようにしたいのです。 VBAを使う方法でもいいです。 よろしくお願いします。

  • エクセル 大量のデータから抽出し自動表示

    エクセルのSheet1のC列に大量(3500件くらい)のデータがあります。このデータは毎日さらに増えます。D列にもおなじだけのデータがあります。 (E列・F列にはあとから別のデータをさらに入力していきます。) Sheet1 A B C D E F     1 2 3 4     2 3 4 5      1 3 5 6     3 5      2 4      ・ ・     ・ ・ こんな感じです。 今回、このC列に入っているデータを検索し、完全に一致したデータのみを別シートに抽出したいのです。 C列にはいろいろな数字が入っていて、同じものもありますが、D列にも同じ数字とは限りません。 なので、VLOOKUPは使用できないのかと思っています。 一致したデータはその行をすべて別シートに抽出したいです。 検索をかけて一致しないデータがあった場合もその検索した数字は残しておいてさらに今後一致になるまでデータを残しておくという方法はできますでしょうか。 エクセルは2003です。 よろしくお願いします。

  • excelのデータで色つき行の抽出方について教えてください

    excelでシート一つでデータを入れてるのですが列の一部分行の数箇所に黄色で色をつけてるのですがその色つきの行だけを抽出したいのですが色での抽出ってできますか?教えてください 急いでいます

  • エクセルデータ抽出方法を教えてください

    エクセルでのデーター抽出方法を教えてください、シート1:A1にUA1と入力し、シート2:A列にはUA1・・・・複数のデータが縦に並んでいます、シート1:A1に入力したデーターを元にシート2:A列を検索し該当するデータの抽出を行いたいです、VLOOKUPではうまく行きません教えてください

  • エクセルの横からのデータ抽出

    エクセルの データ → フィルター → オートフィルター を使用すると、行の一番先頭に▽マークが出てきて、列データの抽出をすることができますが、逆は可能なのでしょうか? すなわち、列の一番左部分に右横向き▽マークが出て、行のデータ抽出を行うということは、可能なのでしょうか?

  • エクセルでのデータ抽出

    エクセルでの複数シートからのデータ抽出方法を教えていただけないでしょうか。 1日から31日まで日にちごと作ったシートの中に”お客さん”と”担当者”と”料金”の3項目があるとします。その1日から31日までの全てのデータの中の”担当者”ごとに別のシートへデータの抽出を行いたいのですが。 複数のシートからのデータ抽出になります。 簡単な方法があったら教えていただけないでしょうか。

  • エクセルのデータ抽出

    会社で注文のあった業者のリストをエクセルで 作ってて450行くらいあります。 各項目には会社名や内容や価格などありますが その中には空白のセルや行もあります。 そこからA列に自分が抽出したい行に印をいれて フィルタをかけたところ、空白があるためか すべてを抽出できません。1行1行抜き出すのもいいのですが 今後、データも増えることを考えると 何かいい方法で抽出したいのですが、 どうしたらいいでしょうか? やはりマクロをつかうのでしょうか? すみませんがよろしくお願いいたします。

    • ベストアンサー
    • Mac
  • エクセルのデータ抽出について

    エクセルのデータ抽出(?)について質問なのですが、 例えばシートで○○店、▲▲店、××店というように分かれていて、それぞれのシートの中に、同じような表があり、    A      B 1  氏名    更新日 2  鈴木太郎  2008/12/20 3  佐藤花子  2009/03/15 といったように、更新が必要な人だけがBのセルに更新日が入るとします。(更新不要の人は空白です。) この更新日が入力されている人の行を、抽出するような感じで別シートへ自動で出来るのでしょうか?(更新必要なくなって、更新日を空白にしたら、抽出したほうも自動で消えるような)

  • Excelでデータ抽出!

    かなり切羽詰ってます。助けてください。 excelで3×15の表を作ってそこからデータを抽出したいのです。列と行の数値はそれぞれ別のセルからの参照にしたいのですが...。ifとかvlookupとかいろいろ使ってみたのですがうまくいきません。エクセルでゆーところの'B3'を出したいだけのことなのですが...。誰か助けてください。

  • 複数シートからデータを抽出したい

    教えてください。 複数のシートから同じデータを抽出したいのです。 各々シートの行、列データは等しくない状態となっております。 4行目から○○を検索し、一致するものがあれば”固定のB列”と一致した列を抽出する、をシート2、3と繰り返して統合されたシートを完成させる、という流れにしたいのですが最終行の取得、そこから続きにコピーというイメージまではわかるのですが固定のB列と一致した列を抽出させる方法がわからないのです。 どのような処理で実行できるでしょうか?