FILTER関数の詳細解説(Excel)

1. イントロダクションとFILTER関数の基本概念

FILTER関数は、Excelの非常に便利でパワフルな関数の一つです。この関数は、指定された条件に基づいてデータをフィルタリングするために使用されます。特定の条件に合致するデータを抽出したり、不要なデータを除外する際に大変役立ちます。FILTER関数は、以下の引数を使用しています。

=FILTER(配列, 含む, 空の場合)

ここで、

  • 配列」はフィルタリング対象となるデータ範囲です。
  • 含む」はフィルタリング条件を指定します。条件に合致する場合はTRUE、そうでない場合はFALSEを返します。
  • 空の場合」は、条件に合致するデータがない場合に表示する値を指定します。

FILTER関数を使用すると、データの整理や分析が簡単になります。例えば、売上データから特定の商品カテゴリのみを抽出したい場合や、従業員リストから特定の部署に所属する人を表示したい場合など、様々なシーンで活用できます。

また、FILTER関数は、他のExcel関数と組み合わせることで、さらに強力なデータ分析ツールになります。例えば、SORT関数やUNIQUE関数と組み合わせることで、フィルタリングされたデータをソートしたり、重複を除去したりすることができます。

この記事では、FILTER関数の基本的な使い方から応用例までを紹介し、実践的なデータ処理や分析に役立てる方法を解説していきます。初級から中級者向けに分かりやすく説明していくので、Excelのデータ処理スキルを向上させたい方はぜひ参考にしてください。

2. FILTER関数の基本的な使用方法

FILTER関数の基本的な使い方を理解するために、具体的な例を用いて解説します。以下のシナリオを考えてみましょう。

ある会社が、従業員のリストを管理しています。このリストには、従業員の名前、部署、年齢が含まれています。ある日、人事部門がマーケティング部署の従業員だけを抽出したいと考えました。ここで、FILTER関数を使って簡単にフィルタリングを行うことができます。

まず、以下のようなデータがあると仮定しましょう。

名前部署年齢
田中太郎マーケティング28
鈴木一郎営業32
佐藤花子マーケティング26
山田次郎IT29
高橋三郎マーケティング34

このデータをフィルタリングして、マーケティング部署の従業員だけを抽出するには、以下のようなFILTER関数を使います。

=FILTER(A2:C6, B2:B6="マーケティング", "該当するデータがありません")

この関数は、

配列: A2:C6(フィルタリング対象のデータ範囲)
含む: B2:B6=”マーケティング”(部署がマーケティングであることを条件として指定)
空の場合: “該当するデータがありません”(条件に合致するデータがない場合に表示するメッセージ)
を指定しています。

この関数を適用すると、以下のような結果が得られます。

名前         部署          年齢
田中太郎     マーケティング  28
佐藤花子     マーケティング  26
高橋三郎     マーケティング  34

これで、マーケティング部署の従業員だけを簡単に抽出することができました。このように、FILTER関数は指定された条件に従ってデータをフィルタリングし、その結果を新しい範囲として返します。これにより、データの分析や整理が非常に容易になります。

3. 複数の条件を用いたFILTER関数の活用(AND条件とOR条件)

FILTER関数は、単一の条件だけでなく、複数の条件を組み合わせてフィルタリングすることができます。ここでは、複数の条件を用いたフィルタリングの方法を説明します。

引き続き、上記の従業員リストを例に、マーケティング部署でかつ年齢が30歳以上の従業員だけを抽出する方法を見ていきましょう。以下のようなFILTER関数を使用します。

=FILTER(A2:C6, (B2:B6="マーケティング") * (C2:C6>=30), "該当するデータがありません")

この関数では、以下の条件を組み合わせています。

部署がマーケティングであること: B2:B6=”マーケティング”
年齢が30歳以上であること: C2:C6>=30
条件を組み合わせる際に、アスタリスク(*)を使用しています。アスタリスク(*)は、論理積(AND条件)を表す演算子です。この場合、部署がマーケティングかつ年齢が30歳以上である従業員だけが抽出されます。

この関数を適用すると、以下のような結果が得られます。

名前         部署          年齢
高橋三郎     マーケティング  34

複数の条件を組み合わせることで、より柔軟なデータの抽出が可能になります。また、論理和(OR条件)を表すプラス記号(+)を使って、異なる条件のいずれかに当てはまるデータを抽出することもできます。

このように、FILTER関数を使って複数の条件を組み合わせることで、データ分析や整理がさらに容易になります。次の章では、FILTER関数と他のExcel関数を組み合わせた応用例を紹介します。

4. FILTER関数と他の関数の組み合わせ

FILTER関数は、他のExcel関数と組み合わせることで、さらにパワフルなデータ処理が可能になります。この章では、FILTER関数と他のExcel関数(例:SORT, UNIQUE, SUMIF等)を組み合わせた応用例を紹介します。

4.1 FILTER関数とSORT関数の組み合わせ

FILTER関数で抽出したデータをSORT関数を使って並べ替えることができます。例えば、以下の従業員リストから、マーケティング部署の従業員を抽出し、年齢順に並べ替えたい場合、以下のように関数を組み合わせます。

名前部署年齢
山田マーケティング34
田中マーケティング25
鈴木営業28
=SORT(FILTER(A2:C4, B2:B4="マーケティング"), 3)

この関数では、まずFILTER関数でマーケティング部署の従業員を抽出し、次にSORT関数で年齢の列(第3列)を基準に並べ替えています。結果は以下のようになります。

名前         部署          年齢
田中         マーケティング  25
山田         マーケティング  34

4.2 FILTER関数とUNIQUE関数の組み合わせ

FILTER関数とUNIQUE関数を組み合わせることで、特定の条件を満たすデータの重複を削除したリストを作成できます。例えば、以下のような商品リストがあり、各商品のカテゴリが記載されているとします。

商品ID商品名カテゴリ
1商品A家電
2商品B家具
3商品C家電
4商品Dファッション

重複を排除したカテゴリリストを作成するには、FILTER関数とUNIQUE関数を以下のように組み合わせます。

=UNIQUE(FILTER(C2:C5, C2:C5<>""))

この関数では、まずFILTER関数で空のセルを除外し、次にUNIQUE関数で重複を削除したカテゴリリストを作成しています。結果は以下のようになります。

家電
家具
ファッション

4.3 FILTER関数とSUMIF関数の組み合わせ

FILTER関数とSUMIF関数を組み合わせることで、特定の条件を満たすデータの合計値を計算できます。例えば、以下のような売上データがあり、各データには商品カテゴリと売上金額が記載されているとします。

日付カテゴリ売上金額
2023/04/01家電5000
2023/04/02家具8000
2023/04/03家電10000
2023/04/04ファッション3000

家電カテゴリの売上金額の合計を計算するには、FILTER関数とSUMIF関数を以下のように組み合わせます。

=SUMIF(B2:B5, "家電", C2:C5)

この関数では、SUMIF関数で「家電」というカテゴリに該当するデータの合計値を計算しています。結果は以下のようになります。

15000

これらの例からもわかるように、FILTER関数は他のExcel関数と組み合わせることで、さまざまなデータ処理や分析が可能になります。これらの関数を効果的に組み合わせることで、データをより簡単に抽出、整理、分析することができ、作業効率を向上させることができます。

4.4 FILTER関数とCOUNTIF関数の組み合わせ

FILTER関数とCOUNTIF関数を組み合わせることで、特定の条件を満たすデータの個数を計算できます。例えば、以下のような商品リストがあり、各商品には評価スコアが記載されているとします。

商品ID商品名評価スコア
1商品A4
2商品B5
3商品C3
4商品D5

評価スコアが5の商品の個数を計算するには、FILTER関数とCOUNTIF関数を以下のように組み合わせます。

=COUNTIF(C2:C5, 5)

この関数では、COUNTIF関数で評価スコアが5の商品の個数を計算しています。結果は以下のようになります。

2

このように、FILTER関数と他のExcel関数を組み合わせることで、データの抽出や集計を効果的に行うことができます。これらの関数を上手く活用し、データ分析やレポート作成を効率化しましょう。

6. FILTER関数の活用事例集

本章では、実務で役立つFILTER関数の活用事例を紹介し、解説します。これらの事例を参考にして、独自のデータ分析やレポート作成でFILTER関数を活用しましょう。

6.1 売上データの分析

まずは、以下のような売上データの表を考えます。

日付商品名数量単価
2023/04/01商品A5100
2023/04/02商品B3200
2023/04/03商品C10150
2023/04/04商品A8100
2023/04/05商品B2200

特定期間(例:2023年4月1日から2023年4月3日)の売上データを抽出する場合、FILTER関数を使用して以下のように書きます。

=FILTER(A2:D6, (A2:A6 >= DATE(2023, 4, 1)) * (A2:A6 <= DATE(2023, 4, 3)))

これにより、指定された期間の売上データが抽出されます。

6.2 従業員の勤怠データの分析

次に、以下のような従業員の勤怠データの表を考えます。

社員番号氏名出勤日退勤日
1001山田2023/04/01 09:002023/04/01 18:00
1002田中2023/04/01 09:002023/04/01 17:30
1001山田2023/04/02 09:152023/04/02 18:00
1002田中2023/04/02 08:452023/04/02 17:30
1001山田2023/04/03 09:002023/04/03 18:00

山田さんの勤怠データだけを抽出する場合、FILTER関数を使用して以下のように書きます。

=FILTER(A2:D6, B2:B6="山田")

これにより、山田さんの勤怠データが抽出されます。

6.3 在庫データの管理

最後に、以下のような在庫データの表を考えます。

商品名在庫数発注閾値
商品A3050
商品B60100
商品C2030
商品D80100

発注が必要な商品(在庫数が発注閾値を下回っている商品)を抽出する場合、FILTER関数を使用して以下のように書きます。

=FILTER(A2:C5, B2:B5 < C2:C5)

これにより、発注が必要な商品のデータが抽出されます。

これらの事例は、実務でのFILTER関数の活用例の一部です。FILTER関数は柔軟性が高く、さまざまなデータ処理や分析に利用できます。状況に応じて、FILTER関数を組み合わせたり、他の関数と連携させたりすることで、より効率的なデータ処理が可能になります。

7. よくある質問と回答・まとめ

この章では、FILTER関数に関するよくある質問とその回答をまとめます。また、記事の内容を簡単にまとめ、FILTER関数の活用に対する意義を再確認します。

7.1 よくある質問と回答

Q1: FILTER関数で条件に一致するデータがない場合、どのように表示されますか?

A1: FILTER関数で条件に一致するデータがない場合、#CALC! エラーが表示されます。エラーを避けるには、第3引数を使用して、条件に一致しない場合の表示内容を指定できます。例えば、「データなし」と表示する場合、以下のように書きます。

=FILTER(A2:C5, B2:B5 < C2:C5, "データなし")

Q2: FILTER関数の計算結果を元のセルに上書きできますか?

A2: いいえ、FILTER関数の計算結果は元のセルに上書きできません。別のセル範囲に表示されるため、必要に応じて別のシートや範囲に計算結果を表示して活用してください。

Q3: FILTER関数はどのようなバージョンのExcelで利用できますか?

A3: FILTER関数は、Microsoft 365(旧Office 365)のサブスクリプション版のExcelに含まれています。従来の一括購入型のOffice製品ではOffice 2021以降が対象です、旧バージョンのExcelでは利用できません。

7.2 まとめ

本記事では、FILTER関数の基本概念、使用方法、複数条件の活用、他関数との組み合わせ、データ分析・レポート作成の活用例、実務での活用事例を紹介しました。

FILTER関数は、データの抽出やフィルタリングを柔軟かつ効率的に行うための優れた関数です。複雑なデータセットや多様な条件を扱う場合でも、FILTER関数はあなたのデータ分析やレポート作成をより迅速で簡単に行えるよう支援します。他の関数と組み合わせることで、更に強力なデータ処理が可能になります。