0Pricing
Excel Formulas Academy · レッスン

FILTERでデータを絞り込む

条件を満たす行だけを動的に返します。

「FILTERでデータを絞り込む」はCoddyKit上の無料Excel Formulas Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはExcel Formulas Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Excel Formulas Academyコースには全4レッスンが含まれています。

FILTERの役割

The FILTER function returns only the rows of a range that meet a condition you set. Instead of manually hiding rows or copying matches, FILTER spills the matching rows automatically.

It is dynamic: when your data changes, the filtered output updates instantly. This makes it perfect for live reports that always show the current matches.

FILTERの構文

FILTERには最大3つの引数を指定できます。

=FILTER(array, include, [if_empty])

  • arrayは、返したい範囲です。
  • includeは、各行に対してTRUEまたはFALSEを返す論理テストです。
  • if_emptyは、一致するものがない場合に表示する任意の値です。

includeのテストは、各行にTRUEまたはFALSEを割り当てられるよう、arrayと同じ高さでなければなりません。

=FILTER(array, include, [if_empty])

FILTERの基本

A2:A10に営業担当者名、B2:B10に担当地域が入っているとします。East地域の名前だけを一覧表示するには、次のようにします。

=FILTER(A2:A10, B2:B10="East")

B2:B10="East"というテストは、TRUEとFALSEの列を返します。FILTERは、結果がTRUEになった行を残し、その結果をスピル表示します。

=FILTER(A2:A10, B2:B10="East")

複数列を返す

arrayには複数の列を指定できます。East地域の名前と売上額の両方を返すには、範囲全体をarrayに指定します。

=FILTER(A2:C10, B2:B10="East")

FILTERは、一致した行のすべての列を返し、小さな表としてスピル表示します。includeのテストは、引き続き1つの条件列だけを参照します。

=FILTER(A2:C10, B2:B10="East")

数値条件

条件はテキストに限りません。C2:C10の売上が500を超えるすべての行を返すには、次のようにします。

=FILTER(A2:C10, C2:C10>500)

大なり、小なり、等しくないなどの比較演算子は、通常の論理テストと同じように、include引数の中で使用できます。

=FILTER(A2:C10, C2:C10>500)

AND論理で条件を組み合わせる

2つの条件を同時に満たす必要がある場合は、テストを掛け合わせます。TRUEは1、FALSEは0として扱われるため、乗算はANDと同じ働きをします。両方が1の場合だけ、行が条件を満たします。

=FILTER(A2:C10, (B2:B10="East")*(C2:C10>500))

これは、East地域にあり、かつ売上が500を超える行を返します。それぞれのテストは必ず括弧で囲んでください。

=FILTER(A2:C10, (B2:B10="East")*(C2:C10>500))

OR論理で条件を組み合わせる

どちらかの条件がTRUEであれば通過させるには、テストを足し合わせます。いずれかのテストがTRUEなら合計は少なくとも1になるため、加算はORと同じ働きをします。

=FILTER(A2:C10, (B2:B10="East")+(B2:B10="West"))

これは、EastまたはWest地域の行を返します。値が1または2になる行は残り、0になる行は除外されます。

=FILTER(A2:C10, (B2:B10="East")+(B2:B10="West"))

一致するものがない場合の処理

条件を満たす行がない場合、FILTERは既定で#CALC!エラーを返します。3番目の引数を指定すると、代わりにわかりやすいメッセージを表示できます。

=FILTER(A2:C10, B2:B10="South", "No matches found")

South地域が存在しない場合、セルにはエラーではなく指定したテキストが表示されます。実際のレポートでは、必ずif_emptyの値を追加してください。

=FILTER(A2:C10, B2:B10="South", "No matches found")

セルの値でフィルターする

対話型レポートでは、固定値ではなくセルと比較します。E1にユーザーが選択する地域が入っている場合は、次のようにします。

=FILTER(A2:C10, B2:B10=E1, "No matches")

E1をWestに変更すると、スピルされた一覧がWestの行にすぐ更新されます。これは、ドロップダウンで操作するダッシュボードの基礎になります。

=FILTER(A2:C10, B2:B10=E1, "No matches")

FILTERの結果を並べ替える

FILTERは、元の順序で一致するデータを返します。並べ替えるには、FILTERをSORTで囲みます。East地域の行を売上の降順で表示するには、次のようにします。

=SORT(FILTER(A2:C10, B2:B10="East"), 3, -1)

SORTはスピルされた表を3列目で並べ替えます。-1は降順を意味します。このようにスピル関数を組み合わせる方法は、一般的で非常に強力です。

=SORT(FILTER(A2:C10, B2:B10="East"), 3, -1)

Google SheetsでのFILTER

FILTERはExcel 365とGoogle Sheetsの両方で使用でき、構文もほぼ同じです。Google Sheetsでは、条件を掛け合わせる代わりに、複数の条件を個別の引数として指定できます。

=FILTER(A2:C10, B2:B10="East", C2:C10>500)

Google Sheetsでは、追加した各引数がAND条件として扱われます。Excelでは、1つのinclude引数の中で、ANDには乗算、ORには加算を使います。

=FILTER(A2:C10, B2:B10="East", C2:C10>500)

理解度チェック

FILTERの理解度を確認しましょう。

まとめ:FILTERでフィルターする

FILTERを使って、一致する行だけを返す方法を学びました。

  • 構文は=FILTER(array, include, [if_empty])です。
  • includeのテストは、arrayと同じ高さでなければなりません。
  • ANDにはテストを掛け合わせ、ORには足し合わせます。
  • if_emptyのメッセージを追加して、#CALC!エラーを防ぎます。
  • FILTERをSORTで囲むと、結果を並べ替えられます。

次は、UNIQUEを使って重複しない値の一覧を抽出します。

よくある質問

「FILTERでデータを絞り込む」レッスンは無料ですか?

はい。「FILTERでデータを絞り込む」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Excel Formulas Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Excel Formulas Academyコースには全4レッスンが含まれています。

「FILTERでデータを絞り込む」で何を学びますか?

条件を満たす行だけを動的に返します。 ブラウザで直接実行するハンズオンコードでExcel Formulas Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Excel Formulas Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのExcel Formulas Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「FILTERでデータを絞り込む」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このExcel Formulas Academyレッスンでコードを書いて実行できますか?

はい。すべてのExcel Formulas Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. スピルの意味
  2. FILTERでデータを絞り込む
  3. UNIQUEで重複を削除する
  4. SPILLエラーへの対処
← Excel Formulas Academyに戻る