Excel(エクセル)のオートフィルターで複数列に条件を指定して検索する方法|複数列を「OR」条件で検索

スポンサーリンク
スポンサーリンク

Introduction

Ver. all 2013 2016 2019 365

エクセルのオートフィルター機能では、最初の状態では列ごとに「OR」条件を指定することはできません。

「OR」条件とは、対象のデータを含むものは全て抽出する設定です。

 

AND・・・複数の条件全てを満たしものだけを抽出する

OR・・・複数の条件どれかを満たした全てを抽出する

 

例えば下の表で、各教科で1つでも「90以上」の氏名を抜き出したい時を例にすると・・・。
※分かり易くするために対象のセルをオレンジ色で塗りつぶしています。

最初に「国語」の教科で90以上のフィルターを設定した場合は、

下のように「国語」だけが抜き出されるので、他の教科を対象にできません。

1つの列での「OR」条件であれば、[フィルターオプション]の画面で設定できるのですが・・・。

ということで、複数列で「OR」検索をする方法を2つ紹介します。

スポンサーリンク
スポンサーリンク

自分で検索条件を作成する方法

Excelのフィルター機能は、自分で条件を作成することができます。

今回は、3教科の中で1つでも「90」以上の点数がある氏名を抜き出してみます。

まず表の見出しを選択してコピーします

その見出しを、表から離れた場所に貼り付けます

今回は、表の下に貼り付けてみます。

貼り付けた見出しの下に検索条件を作成します

条件には比較演算子を使用します。下を参考にしてください。

演算子意味使用例説明
=等しいA=BAとBは等しい
<>等しくないA<>BAとBは等しくない
>より大きいA>BAはBより大きい
<より小さいA<BAはBより小さい
>=以上A>=BAはB以上
<=以下A<=BAはB以下

また、等しい場合の「=」は入力する必要はありません。文字列だけを入力した場合は、常に「=」条件として扱われます。

ここで条件を作成する際の大切なポイントです。

  • AND条件は同じ行に入力する
  • OR条件は行を分けて入力する

今回の例(3教科で90点以上のデータが存在する場合は全て抽出する)だと、下のように検索条件を作成します

この条件作成について、より詳しい説明が必要な場合は下を参考にしてください。

Excel(エクセル)のフィルター機能で自分で検索条件を作成する方法|フィルターオプション機能

検索条件が完成したら、元の表のどこか1セルをクリックした状態で[データ]タブ → [フィルター]の右にある[詳細設定]をクリック

[リスト範囲]に元データの表が選択されていることを確認

下の[検索条件範囲]に、先ほど作成した表全体を選択します。

これで設定完了。[OK]をクリックすれば下のように結果が表示されます。

90以上が存在するデータは全て抽出されました。

スポンサーリンク
スポンサーリンク

OR関数を使用する方法

別の方法として、他の列に全ての条件を満たしたデータだけにチェックを入れる方法があります。

複数の条件を満たしているかどうかを判定する関数は「OR関数」です。

その「OR関数」を「IF関数」の中にネストして使用します。

3教科の中で1つでも「90」以上の点数がある氏名を抜き出したい場合の下の関数になります。

=IF(OR(D3>=90,E3>=90,F3>=90),”〇”,””)

関数に慣れていない方は、[関数の引数]画面で見た方が分かり易いかもしれませんね。

「IF関数」部分の引数画面

「OR関数」部分の引数画面

このように条件を満たした場合に「〇」などを表示しておけば、その「〇」を対象にフィルターを設定すればOKです。

抽出されました。

まとめ

複数列に対するOR条件での抽出方法でした。

2つの方法を紹介しましたが、それぞれ方法が大きく異なります。最初の方法はフィルター機能の応用ですし、後半は関数の応用です。

それぞれ自分の得意な方で処理するのがおすすめです。