FILTER 関数

適用先
Excel for Microsoft 365 Excel for Microsoft 365 for Mac Excel 2024 Excel 2024 for Mac Excel 2021 Excel 2021 for Mac Excel for iPad Excel for iPhone Excel for Android タブレット Excel for Android スマートフォン

FILTER 関数を使用すると、定義した条件に基づいてデータの範囲をフィルター処理できます。

次の例では、数式 =FILTER(A5:D20,C5:C20=H2,"") を使用して、セル H2 で選択されている Apple のすべてのレコードを返し、Apple がない場合は空の文字列 ("") を返しました。

FILTER 関数 - 生産物 (りんご) による地域のフィルター

構文

FILTER 関数は、ブール値 (True または False) の配列に基づいて配列をフィルター処理します。

=FILTER(array,include,[if_empty])

引数 説明
配列
必須
フィルター処理の対象となる配列または範囲
include
必須
高さまたは幅が array と同じブール値の配列
[if_empty]
省略可能
include 配列内のすべての値が空の場合 (フィルターが何も返さない場合) に返す値

  • 配列は、値の行、値の列、または値の行と列の組み合わせと考えることができます。 上記の例では、FILTER 式の対象のソース配列は範囲 A5:D20 です。
  • FILTER 関数では配列が返され、式の最終結果である場合はスピルします。 つまり、Enter キーを押すと、適切なサイズの配列範囲が動的に作成されます。 サポートしているデータが Excel テーブル内にある場合、構造化参照を使用すると、配列範囲のデータの追加または削除に応じて、配列のサイズが自動的に変更されます。 詳しくは、スピルした配列の動作に関する記事をご覧ください。
  • データセットから空の値が返る可能性がある場合は、3 番目の引数 ([if_empty]) を使用します。 そうしないと、Excel は現在空の配列をサポートしていないため、 #CALC! エラー が発生します。
  • include 引数のいずれかの値がエラー (#N/A、#VALUE など) であるか、ブール値に変換できない場合、FILTER 関数はエラーを返します。  
  • Excel では、ブック間の動的配列のサポートが制限されており、このシナリオは双方のブックが開いているときにのみサポートされます。 リンク元ブックを閉じると、リンクされた動的配列数式が更新されたときに #REF! エラー が返されます。

複数の条件を返すために使用されている FILTER

この場合、乗算演算子 (*) を使用して、配列範囲 (A5:D20) 内でリンゴを持ち かつ東領域にあるすべての値を返します: =FILTER(A5:D20,(C5:C20=H1)*(A5:A20=H2),"")

FILTER と乗算演算子 (*) を使用して、配列範囲 (A5:D20) から、

複数の条件を返して並べ替えるために使用されている FILTER

今回は、先ほどの FILTER 関数と SORT 関数を使用して、配列範囲 (A5:D20) 内で AND が "東" 領域にあるすべての値を返し、単位を降順で並べ替えます: =SORT(FILTER(A5:D20,(C5:C20=H1)*(A5:A20=H2),""),4,-1)

FILTER 関数と SORT 関数を使用して、配列範囲 (A5:D20) から、

今回は、FILTER 関数と加算演算子 (+) を使用して、配列範囲 (A5:D20) 内で OR が "東" 領域にあるすべての値を返し、単位を降順で並べ替えます: =SORT(FILTER(A5:D20,(C5:C20=H1)+(A5:A20=H2),""),4,-1)。

FILTER と SORT の併用 - 生産物 (りんご) または地域 (東) でフィルター

関数は 1 つのセルにのみ存在し、結果は隣接したセルにスピルするので、どの関数にも絶対参照は必要ないことに注意してください。

補足説明

Excel 技術コミュニティの専門家にいつでも質問するか、コミュニティでサポートを受けることができます。