7/25/2026

Access。クエリ。And+Or条件で抽出するなら、Excelだと大変です。【extraction】

Access。クエリ。And+Or条件で抽出するなら、Excelだと大変です。

<抽出>

Excelデータがあります。


品川店のA定食と横浜店のB定食だけに抽出するには、どうしたらいいでしょうか。


Excelのオートフィルターでは対応できません。


店舗名は、品川店と横浜店。商品名は、A定食とB定食


結果は、思っているように抽出できません。


品川店はA定食のみにしたいのに、品川店のB定食も抽出されてしまっています。


あくまでも、オートフィルターは、列内のOR条件の優先順が高く、そのあとにAND条件をおこなうからです。


そのため、Excelでは、データタブのフィルターの詳細設定を使う必要があります。

 


ただ、詳細設定をおこなうには、条件行を作る必要があります。


1行目に、見出し行をつくりD2:F3に抽出条件をつくり、フィルターオプションの設定ダイアログボックスを表示して、抽出させる必要があります。


あるいは、店舗名と商品名を結合した、店舗名商品名という列をつくり、つくった列をつかって抽出させる方法もあります。


ただ、列を増設しますので、ファイルサイズは大きくなりますし、結局作業をしなければなりません。


では、Accessのクエリならどうなるのでしょうか。


ExcelデータをAccessにインポートしています。


挿入のクエリデザインをつかって、クエリをつくります。


販売日と店舗名と商品名の列をつかいます。


抽出条件には、品川店でA定食

「または」には、横浜店でB定食

と設定します。


では、実行してみましょう。


問題なく、品川店でA定食 と横浜店でB定食 だけを抽出することができました。


Accessは、Excelと異なった抽出ルールになっております。


場合によっては、Accessのほうが、抽出がスムーズになるかもしれません。