ウェブサイト検索

Microsoft Excel で FILTER 関数を使用する方法


まとめ:

FILTER 関数を使用するには、条件の配列と範囲を入力するだけです。空のフィルター結果による Excel エラーを回避するには、3 番目のオプション引数を使用してカスタム インジケーターを表示します。

Microsoft Excel には、組み込みのフィルター機能と、高度なフィルターを使用するオプションが用意されています。ただし、複数の条件でフィルター処理し、結果を並べ替えたい場合は、Excel の FILTER 関数を確認してください。

FILTER 関数を使用すると、「and」および「or」の演算子を使用して条件を組み合わせることができます。おまけとして、SORT 関数を数式に適用して、特定の列の昇順または降順で結果を表示する方法を紹介します。

Excel の FILTER 関数とは何ですか?

式の構文は FILTER(array, range=criteria, if_empty) で、最初の 2 つの引数のみが必要です。データに応じて、セル参照、数値、またはテキストを引用符で囲んで条件に使用できます。

#CALC! が表示されるため、データ セットが空の結果を返す可能性がある場合は、3 番目のオプションの引数を使用します。デフォルトでエラー。エラー メッセージを置き換えるには、テキスト、文字、または数字を引用符で囲むか、空のセルの引用符を空のままにします。

基本的なフィルター式を作成する方法

まず、関数がどのように機能するかを確認できるように、基本的なフィルターから始めます。各スクリーンショットの右側にフィルター結果が表示されます。

セル B2 (電子機器) の内容を条件として使用して、セル A2 から D13 のデータをフィルター処理するための式は次のとおりです。

=FILTER(A2:D13,B2:B13=B2)

式を分解すると、array 引数が A2:D13 であり、range=criteria 引数が B2:B13=B2 であることがわかります。これにより、Electronics を含むすべての結果が返されます。

数式を記述する別の方法は、次のようにセル B2 の内容を引用符で囲んで入力することです。

=FILTER(A2:D13,B2:B13="Electronics")

別のセルの基準を使用して、range=criteria 領域のデータをフィルタリングすることもできます。ここでは、セル B15 のデータを使用します。

=FILTER(A2:D13,B2:B13=B15)

データに数字が含まれている場合、これを引用符なしで条件として使用できます。この例では、同じセル範囲を使用しますが、セル D2 から D13 でフィルター処理して 10 を探します。

=FILTER(A2:D13,D2:D13=10)

数式の結果が得られない場合、または #CALC! が表示される場合エラー、3 番目の引数 if_empty を使用できます。たとえば、結果が空白の場合は None を表示します。

=FILTER(A2:D13,D2:D13=75,"None")

ご覧のとおり、range=criteria データには 75 が含まれていないため、結果は None です。

FILTER 関数で複数の条件を使用してフィルター処理する

Excel の FILTER 関数の利点は、複数の条件でフィルター処理できることです。 AND (*) または OR (+) の演算子を含めます。

たとえば、次の式でアスタリスク (*) を使用して、A3 (West) と B2 (Electronics) の両方でデータ セットをフィルター処理します。

=FILTER(A2:D13,(A2:A13=A3)*(B2:B13=B2))

ご覧のとおり、West と Electronics の両方を含む 1 つの結果があります。

他の演算子を使用するには、次のようにプラス記号 (+) を使用して A3 または B2 のいずれかをフィルター処理します。

=FILTER(A2:D13,(A2:A13=A3)+(B2:B13=B2))

ここで、West または Electronics の 5 つのレコードが結果に含まれていることがわかります。

フィルター処理されたデータを Excel で並べ替える方法

FILTER 関数から受け取った結果を並べ替える場合は、数式に SORT 関数を追加できます。これは、[データ] タブの [並べ替え] 機能を使用するための単なる代替手段ですが、データを再配置する必要はありません。

試す前に SORT 関数の詳細については、ハウツーを参照してください。

ここでは、このチュートリアルの冒頭で使用した基本的なフィルター FILTER(A2:D13,B2:B13=B2) を使用します。次に、4 番目の列 (損失) で降順 (-1) に並べ替えるための引数を指定して SORT を追加します。

=SORT(FILTER(A2:D13,B2:B13=B2),4,-1)

この式を分解するために、SORT 関数の array 引数として FILTER 式を使用しています。その後、データ セットの 4 列目で並べ替える 4 と、結果を降順で表示する -1 があります。

結果を昇順で表示するには、-11 に置き換えます。

=SORT(FILTER(A2:D13,B2:B13=B2),4,1)

Excel の組み込みフィルターは、データ セット内の特定のレコードをすばやく表示するのに最適です。また、高度なフィルターは、所定の条件範囲または別の場所によるフィルター処理に適しています。ただし、複数の条件を使用して並べ替えを同時に行うには、FILTER 関数を試してみてください。