- Home »
- Excelの基本操作の目次 »
- フィルター(データ抽出) »
- オートフィルターでできる複数条件のデータ抽出
オートフィルターでできる複数条件のデータ抽出 Topへ
- Excelでデータを抽出する機能は オートフィルターとフィルターオプションの設定があります。Excel2007以降は フィルターと詳細設定となっています。
なお、VBAでは AutoFilter と AdvancedFilter になります。
- 複雑な条件でのデータ抽出は詳細設定(フィルターオプションの設定)で行うのが便利ですが、条件をシートの書き出しておく必要があります。
ここでは、オートフィルターではどのような条件なら使用できるのかを書いておこうと思います。
同一列での2つまでの AND条件とOR条件 を設定する(数値をフィルターする) Topへ
AND条件を指定する例です
- 「国語」で40以上 かつ 70以下のデータを抽出する例です。
データリスト内のセルを選択します。またはデータのリスト範囲を選択します。
[データ]タブの[フィルター]をクリックすると、列見出しのセルにフィルターボタンが表示されます。
「国語」のフィルターボタンをクリックして、「数値フィルター」→「ユーザー設定フィルター]を実行します。
- オートフィルター オプション ダイアログボックスが開きます。
「40」「以上」 と設定し、 ANDにチェックを入れ、 「70」「以上」と設定します。
「OK]ボタンをクリックします。
- 「国語」が40点以上、70点以下のデータが抽出されました。
OR条件の例です。
- データリスト内のセルを選択します。またはデータのリスト範囲を選択します。
[データ]タブの[フィルター]をクリックすると、列見出しのセルにフィルターボタンが表示されます。
「国語」のフィルターボタンをクリックして、「数値フィルター」→「ユーザー設定フィルター]を実行します。
- オートフィルター オプション ダイアログボックスが開きます。
「90」「以上」 と設定し、 OR にチェックを入れ、 「30」「以下」と設定します。
「OK]ボタンをクリックします。
- 「国語」が90点以上、または 30点以下のデータが抽出されました。
複数列での AND条件 でデータをフィルターする Topへ
- 国語、数学、英語 すべてが70点以上のデータを抽出します。
「国語」のフィルターボタンをクリックして「数値フィルター」→「指定の値以上」を選択します。
- 「70」「以上」と設定します。[OK]ボタンをクリックします。
- 「数学」「英語」の各列で、フィルターを同様に 70以上 で実行します。
3教科すべてが70以上のデータを抽出することができました。
複数列での OR条件 でデータをフィルターする Topへ
- この条件をオートフィルターを実行することができません。
例えば、3教科のいずれかが 90以上のデータを抽出したいときです。
「国語 90以上」 OR 「数学 90以上」 OR 「英語 90以上」という条件になりますが、これをオートフィルターでは設定することができません。
よって、詳細設定(フィルターオプションの設定)で行おう・・・といったことになるかと思います。
詳細設定での使い方は 数式を使ってデータを抽出する をご覧ください。
- どうしてもオートフィルターで行いたいときは作業列を使えば可能です。
条件に合うか会わないかの列を作成することになります。
- I列を作業列として使用します。
フィルターを解除して、I2セルに =(E2>=90)+(F2>=90)+(G2>=90) と入力して、下方向へコピーします。
いずれかが、90以上ということは この数式の結果が 1以上であればよいことになります。
- よって、I列で 1以上のデータを抽出すればよいことになります。
I列のフィルターボタンをクリックして「数値フィルター」→「指定の値以上」を選択します。
- 「1」「以上」と条件を設定します。[OK]ボタンをクリックします。
- 「国語」「数学」「英語」のいずれかが 90以上のデータを抽出することができました。
- I2セルの条件は=OR(E2>=90,F2>=90,G2>=90) とすることもできます。
この場合は True と同じデータを抽出することになります。
Home|Excelの基本操作の目次|オートフィルターでできる複数条件のデータ抽出