- ベストアンサー
Excelファイルから条件に合致する商品を抽出する方法を教えてください
- Excelで作った商品データのファイル1から、条件に合致する商品を抽出する方法を教えてください。商品データは、商品コード、商品名、規格などの情報が含まれており、バスケットごとに個数が記録されています。
- ファイル1から、バスケットAに含まれる商品の種類と個数を把握したい場合、ファイル2を作成することができます。ファイル2には、商品コード、商品名、規格、数量、バスケット名の情報が含まれます。
- さらに、ファイル1のバスケットの個数を変更すると、ファイル2の内容も自動的に更新されます。Excelを使用することで、簡単に商品の抽出と数量の管理ができます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
1行目が見出し、2行目以降がデータとします。 E列:バスケットAの個数 F列:バスケットBの個数 であったとして説明します。 まず、 G1セルに「バスケットA抽出」と見出しを付けます。 G2セルに =IF(E2="","","バスケットA") と入力し、以下コピー&ペースト H1セルに「バスケットB抽出」と見出しを付けます。 H2セルに =IF(F2="","","バスケットB") と入力し、以下コピー&ペースト これで、数字が入力されている行にそれぞれ 「バスケットA」、「バスケットB」の文字が 入りました。 次に、A1セルなど選択して、 上部メニューから 「データ」→「フィルタ」→「オートフィルタ」 として、 「バスケットA抽出」の右の下三角アイコンをクリックし、 バスケットAを選択すればバスケットAの行が抽出されます。 すべてを選択すれば、すべて選択しなおします。 同様に 「バスケットB抽出」の右の下三角アイコンをクリックし、 バスケットBを選択すればバスケットBの行が抽出されます。 すべてを選択すれば、すべて選択しなおします。 列番号が異なる場合は、適当に修正してください。
その他の回答 (2)
- ka_na_de
- ベストアンサー率56% (162/286)
こんにちは。 >VBAは、やっぱり難しそうですね。 慣れてしまえば、結構簡単にいろいろな事ができるのですが、 やっぱり、とっかかりは難しいと思います。 >そもそもVBAを追加インストールする際は、ネット接続環境が必要でしょうか? 必要ありませんよ。エクセルがあれば十分ですよ。 >一度チャレンジしてみたいですが、 >仮にVBAで思い通りに作成できたとしても、私以外の人間 (職場の人達)が編集できなくなる可能性がありますね。 はい。これが、最大の問題です。 個人レベルで使っているうちはいいのですが、組織で遣うとなると 大変なことです。引継ぎやメンテナンスなど、余計な仕事が 待ち受けています。 個人の業務の効率化に利用するのが最も賢い使い方だと思います。 >やっぱり、オートフィルタに頼ることにします。 私も、賛成です。 VBAに興味が沸いてきたら、いつでも質問してください。 丸投げしなければ、多くの方が回答してくれると思いますよ。
お礼
最後まで、丁寧にありがとうございます。 会社の人も使える方がいいので、オートフィルタで行きます。 また、VBAに興味を持ったときはよろしくお願いします。
- ka_na_de
- ベストアンサー率56% (162/286)
補足説明ありがとうございました。 VBAならできます。 しかし、提示されたサンプルコードを理解できなければ、 自分で修正していくことができないので、すぐに使えなく なると思います。 それでも良いでしょうか? オートフィルタで空白以外のセルを抽出できるので、 バスケットの数だけ操作を繰り返して、 別のファイルに追記していくことになります。
お礼
引き続きの回答、ありがとうございます。 VBAは、やっぱり難しそうですね。 そもそもVBAを追加インストールする際は、ネット接続環境が必要でしょうか? 作業するパソコンがネットに接続されていない物ですので……。 一度チャレンジしてみたいですが、 仮にVBAで思い通りに作成できたとしても、私以外の人間(職場の人達)が編集できなくなる可能性がありますね。 やっぱり、オートフィルタに頼ることにします。 いろいろと丁寧なアドバイス、ありがとうございました。
お礼
早い回答、ありがとうございます。 早速試してみました! たしかに抽出はできましたが、抽出したバスケットA群の下に、 抽出したバスケットB群、その下に……。 といった具合に表示したく思います。 それぞれ抽出バスケット毎に、ファイル1の全商品データを用意すれば良いのでしょうが、 商品数が500品目ほどあり、バスケットも40近くありますので、 商品が一つ増えるごと、また減るごとに抽出バスケット毎に用意した500品目の中に一つ増やす、減らすという作業に時間が取られそうに感じます。 できれば、ファイル1のバスケットAの列を検索して、 1以上なら、その行の商品コード、商品名、規格等を、 ファイル2に抽出できるようにしたいです。 こういう都合のいいことってできるでしょうか?