- 締切済み
複数のデータ抽出の方法について
こんばんわ。 お世話になります。 5000個のデータの中から、同じ列の中から、300個の任意のデータを取り出したいのです。 使うソフトは、アクセスか、エクセルです。 どのようにして取り出せばよいですか。 知恵、アイデアを貸せて下さい。 よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- tom04
- ベストアンサー率49% (2537/5117)
No.1です! たびたびごめんなさい。 No.2さんの回答を拝見して・・・ はっ!そういうコトだったのですか! 前回の投稿は無視してください。 どうも失礼しました。m(_ _)m
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 外しているかもしれませんが・・・ ExcelのVBAでの方法になってしまいます。 元データ配置がどのようになっているのか判らないので勝手にこちらで判断してみました。 Sheet1に元データがあり1行目はタイトル行で項目が入っていて、データは2行目以降にある。 (行はA列の最終行まで・列は何列か判らないので、1行目の最終列までとします) Sheet3のA列に300個の任意のデータを入力しておきます。 Sheet1のA列データがSheet3のA列にあればSheet2に表示するようにしています。 画面左下のSheet1のSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub test() 'この行から Dim i, j As Long Dim ws2, ws3 As Worksheet Set ws2 = Worksheets(2) Set ws3 = Worksheets(3) j = Cells(1, Columns.Count).End(xlToLeft).Column Range(Cells(1, 1), Cells(1, j)).Copy Destination:=ws2.Cells(1, 1) Application.ScreenUpdating = False For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row If WorksheetFunction.CountIf(ws3.Columns(1), Cells(i, 1)) Then Range(Cells(i, 1), Cells(i, j)).Copy Destination:= _ ws2.Cells(Rows.Count, 1).End(xlUp).Offset(1) End If Next i ws2.Columns.AutoFit Application.ScreenUpdating = True End Sub 'この行まで ※ 少々時間がかかると思います。 ※ 一旦マクロを実行すると元に戻せませんので別Bookにコピーしてマクロを試してみてください。 ※ 元データの配置が判れば、もっと具体的なコードが提示できると思います。 この程度ですが参考にならなかったらごめんなさいね。m(_ _)m
お礼
こんばんわ。 遅くなりすいません。 当方の説明不足だったようで、内容がうまく伝わっていなかったようで、また、改めて質問させて頂くかもしれません。 勝手ではございますが、とりあえずこれでいったん締め切らせて頂きます。
お礼
こんばんわ。 遅くなりすいません。 当方の説明不足だったようで、内容がうまく伝わっていなかったようで、また、改めて質問させて頂くかもしれません。 勝手ではございますが、とりあえずこれでいったん締め切らせて頂きます。