エクセルのデータ検索&抽出作成について

このQ&Aのポイント
  • Excelの別シートでの検索と抽出について
  • ExcelファイルでSheet1~5まで部署別の発注データで項目は下記の通りA列~G列まですべて同じになっているものがあります。別シート(Sheet6)に「商品名」や「納品先」で検索する項目を作成し、その結果を表示できるようにしたいのですが何か良い方法はないでしょうか?
  • Excelのバージョンは2010です。並べ替えとフィルター → 詳細設定 → フィルタオプションの設定 で試してみましたが、検索する商品名(納品場所)を変更してしまうと抽出されませんでした。
回答を見る
  • ベストアンサー

エクセルのデータ検索&抽出作成について

Excelの別シートでの検索と抽出について ExcelファイルでSheet1~5まで部署別の発注データで項目は下記の通りA列~G列まですべて同じになっているものがあります。 A列 B列 C列 D列 E列 F列 G列 注文番号 商品名 納品日 納品先 発注額 消費税 合計額 別シート(Sheet6)に「商品名」や「納品先」で検索する項目を作成し、その結果を表示できるようにしたいのですが何か良い方法はないでしょうか? マクロ・VBAでの作成方法もあればお願いします。 Excelのバージョンは2010です。 並べ替えとフィルター → 詳細設定 → フィルタオプションの設定 で試してみましたが、検索する商品名(納品場所)を変更してしまうと抽出されませんでした。 宜しくお願いします。

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

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

こんにちは! VBAでの一例です。 Sheet6は画像通りに配置になっていて、 Sheet1~Sheet5は1行目が項目行で2行目以降にデータがあるとします。 Alt+F11 → メニュー → 挿入 → 標準モジュール → VBE画面に ↓のコードをコピー&ペースト → Excel画面に戻りマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub Sample1() 'この行から Dim k As Long, endRow As Long, wS6 As Worksheet Set wS6 = Worksheets("Sheet6") '←Sheet6は実際のSheet名に! endRow = wS6.Cells(Rows.Count, "A").End(xlUp).Row If endRow > 9 Then Range(wS6.Cells(10, "A"), wS6.Cells(endRow, "G")).ClearContents End If For k = 1 To 5 With Worksheets(k) .Range("A1").AutoFilter field:=2, Criteria1:=wS6.Range("B2") .Range("A1").AutoFilter field:=4, Criteria1:=wS6.Range("B4") endRow = .Cells(Rows.Count, "A").End(xlUp).Row If endRow > 1 Then Range(.Cells(2, "A"), .Cells(endRow, "G")).SpecialCells(xlCellTypeVisible).Copy wS6.Cells(Rows.Count, "A").End(xlUp).Offset(1) End If End With Worksheets(k).AutoFilterMode = False Next k End Sub 'この行まで こんな感じではどうでしょうか?m(_ _)m

cheeky82
質問者

お礼

ありがとうございました!大変助かりました。

関連するQ&A

  • エクセルの抽出なんですが

    すみません、エクセルの抽出について 以前ここで質問させて頂いたんですが、また新たに別の抽出をしたいのですが・・・ VBAでも簡単であればいいのですが、 できれば数式で教えていただけないでしょうか? 内容ですが、 シートA(データ用)の B列に受注番号があります。 C列にその受注番号の詳細として商品名が入っており、 D列にはC列に対しての値段が入っております。 さらに、C列の最後には消費税の項目があり、 同じD列にその消費税の価格が入っています。 これが受注番号ごとに記載があり、 商品の個数は受注番号によって異なります。 これを基にシートB(抽出用)で 受注番号に対して(打ち込めば) その商品の値段を個数分全て抽出させ、最終は合計額が知りたいのですが、 でも、最後にある消費税は除外させたいです。 消費税の抜き方は個数に対して最後なのでこの条件から抜くのがいいでしょうか? 別の列にコード欄があり、消費税のコードは決まっていますので この条件を使ってできますでしょうか? オートフィルタとは違った考え方かなと思ったので こちらで質問させていただいたのですが 本当に申し訳ありませんが、どなたか教えてもらえないでしょうか? 宜しくお願いします。

  • データシートから該当するデータのみ抽出するには。

    Sheet(1)に台帳を作成しています。 A列からZ列に以下の様な    A列 B列 C列 D列 E列 F列 G列   項目 仕様 コード 単価 分類1 分類2 分類3 1 2 1270行 程度のデータです。 分類は6分類設定しています。 行に設定しているデータの内容で10種類の項目に大別出来るので、Sheet(2)からSheet(11)に項目別に検索用Sheetを作成し、分類1から分類6をA列からF列に選択方式で表示出来るように、同時に20行の検索用データを入力出来るようにしました。 但し、分類1~分類6の内、分類2~分類6はブランクの場合もあります。 表示された選択値に基づき、Sheet(1)の台帳にマクロで「データ」→「フィルター」→「フィルターオプションの設定」で抽出を行いましたが、Sheet(9)あたりで、「フィルターオプションの設定」が作動しなくなり抽出不可能となりました。 「フィルターオプションの設定」以外の方法でデータを抽出する方法は無いでしょうか。

  • エクセルでデータ抽出について教えてください

    エクセルで 商品名 納品日  A商品  8/1 B商品  8/22 C商品  9/1 D商品  8/6  のリストから         ↓ 納品日      商品名 8月分       A商品 (8/1~8/31)  B商品           D商品 9月分       C商品 (9/1~9/30) のような月別集計を別シートに抽出したいのですが, なかなかうまくいきません。うまく出来る方法があったら是非 お願い致します。中途半端な知識しかないので、 申し訳ありません。

  • VBAでの検索抽出が出来るプログラムを作成したいで

    エクセルのsheet2~8のA2~O2までは項目(sheet2~8の項目は全て同じです。)、A3~データが入力されています。 検索し、その結果の行すべてを抽出できるようにしたいのですがどのようにVBAを作成すれば良いでしょうか? 検索条件は文字列で”注文業者名”、”注文番号”2つの項目で両方の項目または片方の項目で、検索ボックスにキーワードを入力し「検索開始」のコマンドボタンを押して検索が出来るようにしたいです。 漠然とした質問で申し訳ありません。 宜しくお願いします。

  • Excelデータの抽出について

    Excelについて質問いたします。 Excelにて複数条件にマッチするデータを表示させたいのですが、どのようにすればいいでしょうか? 表はA列から順に、日付、部署名、商品名、入荷数、記号、配達1、記号、配達2、記号、配達3、記号、残りという列にしています。 各行を分かりやすくするために、商品名ごとにセルの背景色を変えています。 現在は、商品名列を選択し、色フィルターを使って、任意の商品名の行を抽出をしています。 現在の抽出条件であります、商品名の抽出に、残り列の数字が○○以下(未満)または残り列の数字が0以外という抽出を追加したいです。 つまり、商品名が○○かつ残り数字が0以外などです。 商品名、残り列の抽出条件につきましては、使用頻度の関係で、条件式の入力よりは一覧から選択の方がいいです。

  • エクセルで検索→抽出

    お願いします。 シート(1)に次のように入力されています。 A列 B列 C列 D列 E列 → Y列 番号 県 性別 年齢 来社 1行目   1 東京 男  45 09/21  2行目   2 京都 女  33 10/07  3行目   3 福島 女  49 10/25  4行目   4 京都 男  25 12/05  5行目   5 東京 女  30 12/30  ↓ 以上のようにY列まで項目と、1110人のデータが 入ったシート(1)があります。 シート(2)に検索したい文字を入れて抽出する方法を教えてください。 例えば京都出身の人を検索したい場合↓ シート(2)の1行目にはあらかじめシート(1)の項目をコピーしておく 検索したい『京都』は「県列」の項目だから B列の2行目に『京都』と入力する。(1行目には項目) 3行目以降に検索結果↓が表示される。 2 京都 女  33 10/07  スイカ 4 京都 男  25 12/05  モモ 8 京都 女  58 05/04  りんご 12 京都 女  12 06/20  オレンジ また、年齢10~35を検索したりなどもできれば… データを入力したり検索したりするのは、パソコンに不慣れな方ですので エクセルに詳しくない人でも簡単に使用できるよう作成できればと思います。 以上、 検索項目を入力し、下の行に抽出されるような関数はありますでしょうか・・・? なければ近いものでも構いませんので教えてください。 宜しくお願い申し上げます。

  • 抽出したデータを使って納品書を作成・印刷したいのですが・・・

    題名の通りなのですが、まず見積書を作成します。作成した後、エクセルの手入力で工場で製造指示書を作っています。 ここまでは良いのですが・・・ 納品書を作成する時に、製造指示書や見積書等のデータを見ながら納品書を作成しなくてはいけません。 また、私一人が納品書を作成するなら良いんですが、年配の方が納品書を作成されるので記入漏れ等も発生していて、記入漏れを防ぐ為にもマクロ等でボタン1つでデータが納品書に移る様にしてほしいと頼まれました。 <例> sheet1 NO. 会社名 郵便番号 住所 tel fax 1  あ     ***-***  い   11  22 sheet2 物件名 うう 商品名 ええ sheet3(納品書) 郵便番号 ***-*** 住所 い tel 11  fax 22 会社名 あ 物件名 うう  商品名 ええ VLOOKUP関数で会社名を基に抽出したら良いと言うのは想像つくのですが、私は関数等はある程度出来ますが、マクロが初心者の為に良い形に組むことが出来ません。 バージョンはエクセル2002です。 どなたか、ご教授願います。

  • エクセルで一覧から値を検索して抽出

    エクセルで一覧から値を検索して抽出 エクセル初心者です まる一日がんばりましたがギブアップです。 (今日の成果ゼロで上司の目が痛いです。。) 下のようなシートが2つあり、 シート2[A2からA51]の売上ランキングから シート1[B2からCX9000]を検索して →商品名をシート2のB2からB51に表示させたいと思っています ※本来ならばVBAですべき計算かもしれませんが関数で教えていただけるとうれしいです 何卒よろしくお願いいたします (シート1) A列 B列   C列   D列 時間 商品あ 商品い 商品う・・ 0時 1098 7232 1211 1時 3460 5656 4342 2時 9843 9843 9322 3時 9843 9977 2323 4時 1111 3232 2323 5時 4783 8045 3874 ・・ ※商品名は約1,000個 ※時間は日付含め約8,000行 (シート2) A列     B列 ランキング  商品名 9977  (  ) 9843  (  ) 9322  (  ) 8425  (  ) 8045  (  ) ・・ ※ランキングは50位まで

  • 検索したい日付からデータを抽出したい。

    こんにちわ。 キャンペーンが何日~何日までどういった内容がある、という一覧を作成しています。 Aの列が開始日、Bの列が終了日、Cの列がキャンペーン内容、です。 検索したい日付をD1のセルに入力したら、その日付に該当するキャンペーンすべてを別のシートに抽出できないでしょうか・・・ オートフィルタで抽出は出来るのですが、日付を入力しただけで抽出 させたいのですが、無理でしょうか・・・ よろしくお願いします。

  • excelのデータ抽出?検索?についておしえてください。

    excelのデータ抽出?検索?についておしえてください。 エクセル2003で sheet1に次のようなデータがあります。   A列  B列  C列     D列  E列 ・・・ 1 組   番号  氏名     古典  現文 ・・・  2 1   1   青木 優    3 1   2   池田 洋子   4 1   3   植村 美紀   ・ ・ sheet2には1組の成績が sheet3には2組の成績が入っています。 クラスによって科目が違います。 この「氏名」と1行目の「科目名」が一致するデータを 他のシートから読み出してくる関数がありませんでしょうか 青木さんの古典を1組のシートから読み出すといった感じです。 説明がへたで 申し訳ないのですが うまく検索ができなくて困っています。 ぜひ くわしいかた教えてください。 どうぞ よろしくおねがいします。

専門家に質問してみよう