- ベストアンサー
Excelデータの抽出方法と抽出条件の追加方法
- Excelデータの抽出方法についての質問です。複数条件にマッチするデータを表示させる方法を教えてください。
- Excelの表には日付、部署名、商品名、入荷数、配達情報などの列があります。商品名ごとに色分けしています。現在は色フィルターを使って商品名ごとの行を抽出しています。
- 今回追加したい抽出条件は、商品名が特定のものであり、残り列の数字が一定条件を満たす場合です。具体的には、残り列の数字が○○以下または0以外という条件です。条件式の入力よりも一覧から選択する方が使いやすいです。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
書かれている内容からすると、オートフィルタで残り列に数値条件を追加すればいいと思います。 また「〇〇以上」「〇〇未満」「0以外」などの定型条件が固まっているならば、そうした条件を一括で管理できるビュー設定の活用をお勧めします。 https://forest.watch.impress.co.jp/docs/serial/exceltips/1195734.html
その他の回答 (4)
- msMike
- ベストアンサー率20% (364/1804)
[No.1補足]へのコメント、 最大256色の[色フィルター]を「活用」されているとの情報、ありがとうございました。 我が Excel の[ヘルプ]で“色フィルター”のキーワードで検索しましたが、該当記事を見付けられません。「最大256色」という仕様を含む[色フィルター]に関する記事、何処に記載されているか教えてください。
- nishi6
- ベストアンサー率67% (869/1280)
>色フィルターを使って・・・ フィルター自体をほとんど使ったことがありませんが、色フィルターを使ったことは一度もありません。 色を塗ることが大変な作業に思え、完全に色を塗り間違えていないだろうか、この商品名は何色?などとデータ処理以外のことに気を使う必要が出てきそうです >Excelにて複数条件にマッチするデータを表示させたいのですが、 >どのようにすればいいでしょうか? データタブ>フィルター から処理を行うと、処理の形跡が残りません。従って自分以外の検証があやふやなものになってしまいます。再現性も保証されません。たまたま結果が一致したので検証OKとすることが少なからず発生しました。 基本的に使っているのは、 データタブ>並べ替えとフィルター>詳細設定 です。 添付図のA~L列のようなデータ範囲を仮定して、 データタブ>並べ替えとフィルター>詳細設定 でフィルターオプションの設定ダイアログで設定するだけです。 添付図では、商品名=「syo_001」かつ「50<残り かつ 残り<100」を指定しています。 以下のサイトに色々のっています。他にもたくさんあります。当方、Win10、Excel2010です。 高度な条件を使ってフィルターを適用する https://support.office.com/ja-jp/article/高度な条件を使ってフィルターを適用する-4c9222fe-8529-4cd7-a898-3f16abdff32b#bkmk_4
- imogasi
- ベストアンサー率27% (4737/17069)
色フィルターは、仕事などで使う場合は、中途半端な機能だと思う。 商品などといっているから、仕事で、本件使うのだろう。 関数では条件付きの該当行抜出しは、式が複雑で、素人の手に負えない。 そしてVBAでやることになるが、アクセスなどを使うと、背後にあるSQLの機能のおかげですっきり結果を出せるが、エクセルVBAは中途半端なだけに難しい。 >一覧から選択の方がいい 勝手なことを言っているが、ここはコンピューターでの業務を委託するコーナーではない。VBAを使うことになりかねない。それなりの質問者の基礎の勉強が済んでいることが前提のはず。 回答をとりあえずコピペして、実行して動けば、もっけもの、というのか。 やるならVBAでフィルタ機能を記述し、条件は、商品列が商品名、在庫数量列が数値0という条件でフィルタをかければよい。 とり合えず、商品名は手入力、在庫0はプログラムに組み込み、でやってみたらどうか。 シートに対し、1例の操作をして、マクロの記録を取って、コードを見れば、おおよその見当はつくはずだが、そういうこともやってないのは、まだ 未だというべきか。 ーー Sub Macro1() ' ' Macro1 Macro Range("A1:B5").Select Range("A1:B5").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _ "E1:F2"), CopyToRange:=Range("I1:J5"), Unique:=False End Sub ーーー 例データと実行結果 A,B列 E、F列 I,J列 商品 在庫 商品 在庫 商品 在庫 鉛筆 20 消しゴム 0 消しゴム 0 消しゴム 0 ノート 5 便箋 20 ーー この例をやっていて、違和感を覚えた。商品を限定せずとも、在庫が0とか10以下などの条件で、該当があれば、商品名も他の項目も結果に残るのだから、そを知る、というタイプではないのか。 色フィルターのやり方などどうでもよい。条件は文章で表現すればどうすべきなのかを質問に明記できる力がないと、コンピュター処理などできない。
- msMike
- ベストアンサー率20% (364/1804)
確認させてください。 》 現在は、商品名列を選択し、色フィルターを使って、 》 任意の商品名の行を抽出をしています。 私は[オートフィルタ]における「色フィルター」の機能を利用したことがないのですが、商品名を抽出するために色フィルタを適用できるのは最大何色ですか? 10色、16色、32色、64色、128色、256色? 貴方の Excelのバージョンは? ちなみに、私は Excel 2019 を使用しています。
補足
オートフィルターの色フィルターを活用しています。 色フィルターでフィルター指定できる色は256色です。 私はExcel2016を使用しています。