ExcelのFILTER関数は、複数条件でのデータ抽出に非常に役立ちます。この記事では、FILTER関数の基本的な使い方から、AND/OR条件の指定方法、エラー時の対処法までを詳しく解説します。さらに、UNIQUE関数との組み合わせや、実務での応用例もご紹介。この記事を読めば、Excelでのデータ分析がより効率的になるでしょう。
FILTER関数の基本を理解する
Excel filter関数の対応バージョン
- Excel for Microsoft 365
- Excel 2024
- Excel 2021
- Excel 2019
FILTER関数の構文と引数
FILTER関数は、指定された条件に基づいて、配列からデータを抽出する関数です。
基本構文は
「=FILTER(配列,含む,[空の場合])」
です。
配列には抽出対象のデータ範囲、含むには抽出条件、空の場合には条件に合致するデータがない場合の表示を指定します。
基本的なデータ抽出の例
例えば、特定の部門に所属する社員のデータを抽出する場合、FILTER関数に部門名と社員データが記載された配列を指定することで、該当するデータだけを抽出できます。これにより、膨大なデータの中から必要な情報だけを簡単に取り出すことが可能です。
抽出条件を指定する方法
抽出条件には、数値や文字列だけでなく、論理演算子を使った複雑な条件も指定できます。これにより、より詳細なデータ抽出が可能になります。具体的な条件の記述方法については後述します。
複数条件でのデータ抽出:AND条件
AND条件の記述方法
FILTER関数でAND条件を指定するには、複数の条件を「」で繋ぎます。
例えば、営業部かつ20代の社員を抽出する場合は、「(部門=”営業部”)(年齢>=20)*(年齢<30)」のように記述します。
これにより、すべての条件を満たすデータだけが抽出されます。
具体的なAND条件の例
例として、製品名が「A」かつ販売価格が「1000円以上」のデータを抽出するケースを考えてみましょう。
この場合、「(製品名=’A’)*(販売価格>=1000)」と条件を指定することで、該当するデータのみを抽出できます。
この方法は、複雑な条件を組み合わせる際に非常に便利です。
AND条件抽出の注意点
AND条件を使用する際には、条件式がすべて満たされているか確認する必要があります。もし条件が一つでも満たされない場合、結果は表示されません。条件の記述ミスに注意しましょう。
【具体例】サンプルデータ|解説とExcelデータダウンロード
まずは、以下のようなサンプルデータを用意します。
商品名 | 販売価格 | カテゴリ |
---|---|---|
商品A | 1500 | 食品 |
商品B | 800 | 食品 |
商品C | 2000 | 家電 |
商品D | 1200 | 食品 |
商品E | 3000 | 家電 |
【具体例】AND条件の使い方 その1|解説とExcelデータダウンロード
「食品」カテゴリかつ、販売価格が1000円以上の商品を抽出してみましょう。 FILTER関数では、以下のようにAND条件を記述します。
=FILTER(A2:C6, (C2:C6="食品") * (B2:B6>=1000) )
商品名 | 販売価格 | カテゴリ |
---|---|---|
商品A | 1500 | 食品 |
商品D | 1200 | 食品 |
「(C2:C6="食品") * (B2:B6>=1000)
」の部分がAND条件です。各条件を()で囲み、*で繋ぐことでANDを表現しています。
以下からExcelのサンプルデータをダウンロードし、練習用としてお使いください。
【具体例】AND条件の使い方 その2|解説とExcelデータダウンロード
今度は、「家電」カテゴリかつ、販売価格が2000円より高い商品を抽出します。 FILTER関数は以下のようになります。
=FILTER(A2:C6, (C2:C6="家電") * (B2:B6>2000) )
商品名 | 販売価格 | カテゴリ |
---|---|---|
商品E | 3000 | 家電 |
「(C2:C6="家電") * (B2:B6>2000)
」がAND条件の部分です。カテゴリと価格の両方の条件を満たすデータのみが抽出されました。
以下からExcelのサンプルデータをダウンロードし、練習用としてお使いください。
まとめ
FILTER関数でAND条件を使う際は、「(条件1)*(条件2)
」のように、各条件を()で囲み*で繋げます。これにより、全ての条件を満たすデータを抽出できます。OR条件やNOT条件と組み合わせることで、さらに柔軟な抽出が可能です。ぜひ色々な条件を試してみてください。
複数条件でのデータ抽出:OR条件
OR条件の記述方法
OR条件を指定する場合は、複数の条件を「+」で繋ぎます。
例えば、営業部または人事部の社員を抽出する場合は、「(部門=”営業部”)+(部門=”人事部”)」のように記述します。
これにより、いずれかの条件を満たすデータが抽出されます。
具体的なOR条件の例
例として、製品名が「A」または「B」のデータを抽出するケースを考えます。
この場合、「(製品名=’A’)+(製品名=’B’)」と条件を指定することで、製品名が「A」または「B」のデータが抽出できます。
OR条件は、複数の選択肢からデータを抽出したい場合に役立ちます。
OR条件抽出時の注意点
OR条件を使う場合は、複数の条件のいずれかを満たしていればデータが表示されます。不要なデータまで表示されないよう、条件設定は慎重に行いましょう。
【具体例】サンプルデータ|解説とExcelデータダウンロード
以下のサンプルデータを使用します。
商品名 | 販売価格 | カテゴリ |
---|---|---|
商品A | 1500 | 食品 |
商品B | 800 | 食品 |
商品C | 2000 | 家電 |
商品D | 1200 | 食品 |
商品E | 3000 | 家電 |
【具体例】OR条件の使い方 その1|解説とExcelデータダウンロード
「食品」または「家電」カテゴリの商品を抽出してみましょう。FILTER関数では、以下のようにOR条件を記述します。
=FILTER(A2:C6, (C2:C6="食品") + (C2:C6="家電") )
行/列 | 商品名 | 販売価格 | カテゴリ |
---|---|---|---|
2 | 商品A | 1500 | 食品 |
3 | 商品B | 800 | 食品 |
4 | 商品C | 2000 | 家電 |
5 | 商品D | 1200 | 食品 |
6 | 商品E | 3000 | 家電 |
「(C2:C6="食品") + (C2:C6="家電")
」の部分がOR条件です。各条件を()で囲み、+で繋ぐことでORを表現しています。
以下からExcelのサンプルデータをダウンロードし、練習用としてお使いください。
【具体例】OR条件の使い方 その2|解説とExcelデータダウンロード
販売価格が1000円未満または2500円より高い商品を抽出します。FILTER関数は以下のようになります。
=FILTER(A2:C6, (B2:B6 < 1000) + (B2:B6 > 2500) )
行/列 | 商品名 | 販売価格 | カテゴリ |
---|---|---|---|
3 | 商品B | 800 | 食品 |
6 | 商品E | 3000 | 家電 |
「(B2:B6 < 1000) + (B2:B6 > 2500)
」がOR条件の部分です。価格が条件のいずれかを満たす商品が抽出されました。
以下からExcelのサンプルデータをダウンロードし、練習用としてお使いください。
まとめ
FILTER関数でOR条件を使う際は、「(条件1)+(条件2)
」のように、各条件を()で囲み+で繋げます。これにより、いずれかの条件を満たすデータを抽出できます。AND条件と組み合わせることで、より細かな条件設定が可能です。OR条件を使いこなして、データ抽出の幅を広げましょう。
【応用】FILTER関数とUNIQUE関数の組み合わせ
UNIQUE関数とは
UNIQUE関数は、指定した範囲内の重複する値を削除し、一意の値のみを抽出する関数です。この関数をFILTER関数と組み合わせることで、抽出したデータから重複を取り除き、より整理されたデータを得ることができます。
組み合わせ例:重複のない抽出
例えば、ある製品を購入した顧客リストから、重複を排除した顧客一覧を作成したい場合、FILTER関数で特定の条件を満たす顧客データを抽出し、その結果をUNIQUE関数にかけることで、重複のないリストを作成できます。
組み合わせのメリット
この組み合わせにより、データの整理・分析がより簡単になります。重複のないデータは、正確な集計やグラフ作成に不可欠です。FILTER関数とUNIQUE関数を使いこなすことで、データ分析の効率が大幅に向上します。
【具体例】サンプルデータ
以下のような顧客購入データがあるとします:
行/列 | A列 | B列 | C列 |
---|---|---|---|
1 | 顧客名 | 購入日 | 購入金額 |
2 | 山田太郎 | 2024/1/5 | 3000 |
3 | 鈴木花子 | 2024/1/10 | 5000 |
4 | 山田太郎 | 2024/1/15 | 2000 |
5 | 佐藤次郎 | 2024/1/20 | 4000 |
6 | 鈴木花子 | 2024/1/25 | 6000 |
7 | 山田太郎 | 2024/1/30 | 3500 |
8 | 佐藤次郎 | 2024/2/1 | 4500 |
【具体例】FILTER関数のみの例
購入金額が4000円以上のデータを抽出する場合:
=FILTER(A2:A8,C2:C8>=4000)
結果:
行/列 | D列 |
---|---|
2 | 鈴木花子 |
3 | 佐藤次郎 |
4 | 鈴木花子 |
5 | 佐藤次郎 |
【具体例】FILTER関数とUNIQUE関数の組み合わせ
購入金額4000円以上の顧客から重複を除いた一覧を作成:
=UNIQUE(FILTER(A2:A8,C2:C8>=4000))
結果:
行/列 | E列 |
---|---|
2 | 鈴木花子 |
3 | 佐藤次郎 |
関数の解説
- FILTER関数部分(C2:C8>=4000)
- 購入金額列(C列)から4000円以上の行を抽出条件として指定
- 抽出対象は顧客名列(A列)
- UNIQUE関数部分
- FILTER関数で抽出された結果から重複する顧客名を除外
- 昇順で自動的にソートされる
- 組み合わせのメリット
- 条件抽出と重複除去が1つの数式で完結
- データ更新時に自動で結果が更新される
- エラー処理が自動で行われる
注意点
- UNIQUE関数は、Microsoft 365またはExcel 2021以降で使用可能
- 空白セルも一意の値として扱われる
- 大文字小文字は区別されない
まとめ
FILTER関数を使いこなそう
FILTER関数はExcelでのデータ抽出に非常に便利な関数です。複数条件を組み合わせることで、より詳細なデータ抽出が可能になります。この記事で紹介したテクニックを駆使して、業務効率を大幅に向上させましょう。
コメント