ExcelのFILTER関数で複数の条件を指定するなら「AND」「OR」を使いましょう!この記事ではFILTER関数で複数条件を指定する方法をご紹介します。
複数条件といっても、AND「*」やOR「+」で条件を指定するだけなので簡単です!
まずは基本構文から振り返ってみましょう。
FILTER関数とは?基本構文から使用例をご紹介
FILTER関数とは、特定の条件に合うデータを抽出できる関数です。めっちゃ簡単に説明すると、クラスの名前と性別が入力されているデータから、男子の名前だけを一瞬で抽出することができます!
FILTER関数の基本構文
=FILTER(配列, 含む, [空白の場合])
配列…データが入力されている範囲を選択
含む…データの仕分け方を指定(条件指定)
空白の場合…データが存在しない場合に返すテキストを指定
FILTER関数の使用例
こちらでは、FILTER関数をもっと理解できるように図を使って解説します!使用例では、名前と性別が入力されたデータがあり、男性の名前だけを抽出していきたいと思います。
数式を使って説明すると「=FILTER(名前が入力されている範囲, 性別が入力されている=”男性”)」になります。今回は[空白の場合]は省略します。それでは実際にFILTER関数の数式を見ていきましょう!
=FILTER(B3:B7,C3:C7="男性")
※コピペして使ってみてね!
B列に名前、C列に性別があり、性別が男性の名前を抽出する式となります。女性の場合は「=FILTER(B3:B7,C3:C7=”女性”)」になります。一度ご自身のExcelで試してみてください。
FILTER関数の基本的な使い方を理解してきたので、次は複数条件を指定する方法をご紹介します!
FILTER関数で複数の条件を指定する方法
FILTER関数で条件を2つ3つと指定したい場合どうしたらいいのでしょうか?悲しいことに実務では、条件が2つ以上になることが多くあります( ;∀;)
そんな場面に皆さんが直面しても「あ~これはこう!(‘ω’)」で進められるように、FILTER関数で複数の条件を指定する方法を紹介します!
と。そのまえに…複数条件といっても「〇かつ✖」と「〇または✖」があります。前者は両方の条件を満たすデータであり、後者はどちらか一方または両方の条件を満たすデータになります。「かつ(AND)、または(OR)」を使い分けて業務効率をUPしていきましょう!
ANDで複数条件を指定
ANDは「〇かつ✖」の条件、要はすべての条件が当てはまるデータのことを指します。FILTER関数でANDを使う方法は、それぞれの条件を()で囲って、「*」で繋げます。
=FILTER(配列, (条件①) * (条件②), [空白の場合])
※3つの条件なら「=FILTER(配列,(条件①)*(条件②)*(条件③),[空白の場合])」です。
たとえば、クラス・国語の平均点・英語の平均点が入力されているデータがあり、「国語が平均70点以上かつ英語が平均60点以上のクラス」のクラスを抽出する場合の数式は「 =FILTER(クラスの範囲,(国語の範囲>=70)*(英語の範囲>=60)) 」になります。
「=」や「>」などはExcelで使用できる比較演算子になります。この演算子を使用し数式で「等しい・等しくない・より大きい・より小さい・以上以下」などを指定することができます。一覧を表にしておくので、コピペやスクショなどしててください( ..)φメモメモ
演算子 | 意味 | 使用例 | 説明 |
= | 等しい | A1=B1 | A1とB1は等しい場合~ |
<> | 等しくない | A1<>B1 | A1とB1が等しくない場合~ |
> | より大きい | A1>B1 | A1がB1より大きい場合~ |
< | より小さい | A1<B1 | A1がB1より小さい場合~ |
>= | 以上 | A1>=B1 | A1がB1以上の場合~ |
<= | 以下 | A1<=B1 | A1がB1以下の場合~ |
Excelを独学でマスター!業務効率をUP
初心者でも効率よく学べる本を厳選して5冊ご紹介!学び方のコツもチェック
ANDを使用した具体例
ANDを使用する基本的な数式を理解できたので、具体例を使って関数を挿入していきましょう。具体例では、クラス・国語と英語の平均点数が入力されているデータから、「国語が70点以上かつ英語が60点以上」のクラスを抽出します。
=FILTER(B3:B7,(C3:C7>=70)*(D3:D7>=60))
※コピペして使ってみてね!
今回の条件は、国語の平均点と英語の平均点だけですが、数学の平均点もデータにあり、条件を追加したい場合は、「=FILTER(クラス,(国語>=70)*(英語>=60)*(数学>=条件にする数値))」で指定することが出来るので、試してみてください
ORで複数条件を指定
FILTER関数で「〇または✖」の条件を抽出するなら「OR」を使用します。ORの指定方法は、条件を()で囲い、「+」で繋げてあげます。ANDと似ているので、覚えやすいですよね(*´ω`)
=FILTER(配列, (条件①) + (条件②), [空白の場合])
※3つの条件なら「=FILTER(配列,(条件①)+(条件②)+(条件③),[空白の場合])」です。
ORを使用した具体例
さっそくOR(または)で複数の条件をしてしていきましょう!こちらでもクラスごとに国語と英語の平均点が入力されているデータを使用します。今回の条件は、「国語が70点以上または英語が60点以上」のクラスを抽出してみましょう!
=FILTER(B3:B7,(C3:C7>=70)+(D3:D7>=60))
※コピペして使ってみてね!
なぜ?FILTER関数でエラーになる原因
Excelのバージョンを確認しよう
FILTER関数が使えるExcelのバージョンは、Microsoft365・Excel2021以降で使用できる関数です。※記事作成時点
この記事を読んでいる方は大丈夫かと思いますが、対象のバージョンを使用していない方はFILTER関数を使用することが出来ないので注意しましょう!
数式(範囲と条件)を確認しよう
エラーの原因の一つとして、条件式の演算子や括弧が間違えている場合があります。たとえば、「=FILTER(配列, ((条件①) + (条件②))」や、「=FILTER(配列, (条件①,90) + (条件②))」などがあります。
それぞれどこが間違えているか分かりますか?少しだけ考えてみて答え合わせをしてみてください( ;∀;)
=FILTER(配列, ((条件①) + (条件②))の括弧が一つ多いです。正しくは、=FILTER(配列, (条件①) + (条件②))になります。
=FILTER(配列, (条件①,90) + (条件②))の「,」は不要で、演算子を入力するなら(条件①=90)や (条件①>=90)で入力します。
まとめ
今回は、FILTER関数の基本構文から複数条件でデータを抽出する方法を紹介しました。簡単に振り返ってみましょう!
基本構文は「=FILTER(配列, 含む, [空白の場合])」でしたね。この構文に「〇かつ✖」で複数の条件を追加するなら「AND(*)」を使用し、「〇または✖」で条件を指定する場合は「OR(*)」を使用しましたね。
それぞれ用途は異なりますが、数式の入力方法は簡単なので、ぜひ皆さんも試してみてください!