人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

EXCELで特定の条件のレコードだけ抽出する方法を
教えてください

以下のように並んでいる中から特定の日付のデータだけを抽出して他のシートに表示します。

例 2007/02/09を選んだ場合以下を他のシートに表示
2007/2/9 A2 B2 C2
2007/2/9 A3 B3 C3
2007/2/9 A4 B4 C4

データベースでクエリーで抽出するようなことを実行したいわけです。(データベースを使うという回答はなしでお願いします)


日付 項目1 項目2 項目3
2007/2/8 A1 B1 C1
2007/2/9 A2 B2 C2
2007/2/9 A3 B3 C3
2007/2/9 A4 B4 C4
2007/2/10 A3 B3 C3
2007/2/10 A4 B4 C4

●質問者: garyo
●カテゴリ:科学・統計資料
✍キーワード:A1 A3 b2 B4 C3
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● きゃづみぃ
●27ポイント

http://www.eurus.dti.ne.jp/~yoneyama/Excel/filter.htm

フィルタを用いるのは いかがでしょうか?

◎質問者からの返答

手動でなく自動で他のシートから操作したいのです。

マクロ記録でやってみましたが、うまく記録できなかったですね。

BBBというシートからAAAというシートのフィルタをオンにしてAAAのセルを参照でBBBに持ってこれるかと思ったのですが。

Sheets("AAA").Select

Selection.AutoFilter Field:=1, Criteria1:="2007/2/8"

Sheets("BBB").Select


追記:フィルタは「:="2007/2/8"」→「:=#2007/2/8#」で動きました。


2 ● SALINGER
●40ポイント

aaaのシートをbbbに抽出するとしてVBAではこんな感じ

Dim i As Integer
Dim j As Integer
i = 1
j = 1
While Worksheets("aaa").Cells(i, 1).Value <> ""
 If Worksheets("aaa").Cells(i, 1) = "2007/02/09" Then
 Worksheets("aaa").Range(Cells(i, 1), Cells(i, 4)).Copy (Worksheets("bbb").Cells(j, 1))
 j = j + 1
 End If
 i = i + 1
Wend
End Sub

http://q.hatena.ne.jp/

◎質問者からの返答

ありがとうございます。

オートフィルタが中々言うことを聞いてくれないので

これをベースに書き換えました。


3 ● りくっち
●13ポイント

フィルタの他の使い方で一つ。


抽出元データの範囲に名前をつけます。

(仮に"データ"としておきます)


抽出先に抽出条件を記入するセルを作り、記入します。

|*日付|

|2007/2/9|

これは抽出先シートのどのセルでも構いませんが、抽出データの邪魔にならない辺りが良いかと。

ここでは仮にE1:E2としておきます。


抽出先シートをアクティブにして、ツールバーの「データ」」→「フィルタ」→「フィルタオプションの設定」をクリック

抽出先を「指定した範囲」にチェック

例示のデータ通りとして、

リスト範囲に「データ」

検索条件範囲に$E$1:$E$2

抽出範囲に$A:$D

をそれぞれ入力してOK。



これで、抽出先シートのA:D列にご希望のデータが抽出されます。

…全自動ではないですね。


あまりVBには詳しくないので、単純にマクロ記録してみました。

↓こんな感じです。


Range("データ").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("E1:E2"), CopyToRange:=Columns("A:D"), Unique:=False



実際は少しVBをいじらないといけないと思うので、

参考サイトを貼っておきます。

http://www.eurus.dti.ne.jp/yoneyama/Excel/filter.htm#optio_vba

以上ご参考まで。

◎質問者からの返答

ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ