- 締切済み
データシートから該当するデータのみ抽出するには。
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)あたりで、「フィルターオプションの設定」が作動しなくなり抽出不可能となりました。 「フィルターオプションの設定」以外の方法でデータを抽出する方法は無いでしょうか。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
問題を読んでいると頭がくらくらして来ます。皆さんもそれで回答が無いのでは。 まとめると ○原本Sheet1を元に、別の人が指定した条件で、別シートに抽出するのですね。 ○条件はSheet2-11にそれぞれ指定されるのですか。 具体的にどう言う風にシートに書かれますか。1例を挙げられませんか。 ○Sheet2に入力された条件で、抽出した結果はSheet2に書き出すのですか。 (1)列は項目 仕様 コード 単価+6分類の10列 6分類には各行につき1箇所しかサインが立っていないのですか。2分類以上該当がありますか。 (2)行は1200行以上。OK。少し多いか。 >行に設定しているデータの内容で10種類の項目に大別出来るので 具体的には。例示して見てください。 >Sheet(2)からSheet(11)に項目別に検索用Sheetを作成 Sheet2からShhet11まで10シートを(条件設定用と結果書き出し用に?)用意している。 Sheet2は分類1とかと関係あるのですか。このシートに 持ってくるデータの選択基準は? >分類1から分類6をA列からF列に選択方式で表示出来るように、同時に20行の検索用データを入力出来るようにしました。 6分類がA-F6列と対応しているのですね。 Sheet2-11の各シートに20行作られているのですか。 >同時に20行の検索用データを入力出来るようにしました この意味が判らない。なぜ20行もいるのですか。 >表示された選択値に基づき どこ(シート)に表示されたのですか。 >Sheet(1)の台帳にマクロ Sheet(1)の台帳から、ではないのですか。
補足
台帳Sheet(1)のA2~Z1270を抽出元データ範囲とし、 A列~C列は表示名称・単価等 D列~I列は下記の分類1~分類6 J列~Z列は上記に付随するデータが入力されています。 A1300~Z1320を抽出条件の入力範囲、 A1330~Z1330以下を抽出結果の表示範囲としています。 A1300~Z1320の抽出条件としては、 D列=分類1、E列=分類2、F列=分類3、G列=分類4、H列=分類5、I列=分類6としています。 EXCEL機能の「データ」→「フィルタ」→「フィルターオプションの設定」→「指定した範囲」の機能を使用してデータ抽出を行っています。(マクロの記憶を使用) 台帳Sheet(1)のA2~Z1270を抽出元データは、部品Aグループ、部品Bグループ、部品Cグループ、と言ったように部品Jグループ迄の10グループに分類する事が出来ます。 Sheet(2)=部品Aグループ Sheet(3)=部品Bグループ 以下Sheet(4)~Sheet(11)同様に区分しました。 例えば、Sheet(2)部品Aグループの抽出条件をSheet(1)の抽出条件D列~I列にデータを複写するための元データを作成する為に、Sheet(2)に以下のように設定しました。 設定範囲は、A2~L22で B列(分類1)=製品略称、D列(分類2)=形状、 F列(分類3)=規格、 H列(分類4)=寸法、 J列(分類5)=精度、 L列(分類6)=使用部位、 A列、C列、E列、G列、I列、K列はA25~L45に作成した参照表の参照番号入力枠としました。 【入力範囲はA2~L22】A列は絶対に入力します。 A列 B列 C列 D列 E列 F列・・・L列 1 製品略称A 1 形状A 1 規格A・・・ 1 製品略称A 1 形状A 2 規格B・・・ 1 製品略称A 2 形状B 3 規格C・・・ 2 製品略称B 1 形状A 2 規格B・・・ 2 製品略称B 1 形状A 3 規格C・・・ 3 製品略称C 1 規格A・・・ 3 製品略称C 1 形状A ・・・ 上記通りA列・C列・E列・G列・I列・K列に番号を入力すれば、【A25~L45に作成した参照表】をVLOOKUP参照し、 B列・D列・F列・H列・J列・L列を表示します。 C列・E列・G列・I列・K列に番号入力が無けれブランクとなります。 【参照表の範囲はA25~L45に作成】 A列 B列 C列 D列 E列 F列・・・L列 1 製品略称A 1 形状A 1 規格A・・・ 2 製品略称B 2 形状B 2 規格B・・・ 3 製品略称C 3 形状C 3 規格C・・・ 4 形状D 4 規格D・・・ 5 規格E・・・ このSheet(2)で選択されたB列・D列・F列・H列・J列・L列の値をSheet(1)のD1300~I1320にCOPYして、最初の説明通り「データ」→「フィルタ」→「フィルターオプションの設定」→「指定した範囲」の機能を使用してデータ抽出します。 従って、Sheet(2)で A列 B列 C列 D列 E列 F列・・・ 1 製品略称A ・・・ とのみ入力されていなければSheet(1)の抽出結果は、部品Aグループの全体が抽出されます。 同様の方法でSheet(2)~Sheet(11)の抽出結果を別のSheet(12)に集計する方法はありますか。