メインコンテンツへスキップ
見出し画像

🔬 最近、FILTER関数を研究しています


    こんにちは。詰めExcel研究家の詰めです。
    最近、FILTER関数の仕組みを集中的に調べています。
    一見シンプルな関数ですが、動かしてみると非常に奥が深く、
    まるで“生き物”を観察しているような感覚になります。

    💡 データを条件で“抜き出す”

    FILTER関数の基本的な役割は、
    指定した条件に合う行だけを取り出すことです。

    =FILTER(配列, 条件式, [該当なしの場合])

    たとえば次のような社員データがあるとします。

    画像

    この中から「種別IDがH01の人」だけを抽出したい場合、
    次のように書きます。

    =FILTER(A2:C7, C2:C7="H01")

    すると、条件に合う行だけがすぐに一覧で表示されます。
    オートフィルターのようにクリック操作を繰り返す必要はありません。
    一度書いておけば、条件を変えるだけで結果が自動更新されます。

    🧩 条件をセル参照にして動的に

    抽出条件を数式の中に直接書く代わりに、
    別セルを参照すれば、より柔軟な使い方ができます。

    =FILTER(A2:C7, C2:C7=F1)

    F1セルに「H01」と入力すれば、
    その条件で絞り込まれます。
    「H02」に変えれば、結果も即座に更新。
    こうして、動的な検索フォームのように使うこともできます。

    🧠 複数条件にも対応できる

    FILTER関数は、複数条件を掛け合わせることもできます。
    たとえば「種別IDがH01 かつ 従業員名が桃太郎」の場合はこうです。
    (例としては微妙ですが・・)

    =FILTER(A2:C6, (C2:C7="H01")*(B2:B7="桃太郎"))

    * は「かつ(AND)」、+ は「または(OR)」の意味になります。
    慣れると、論理演算を使った抽出がとても快適になります。

    🧩 複数列をまとめて抽出する

    FILTER関数で複数列を柔軟に扱いたいとき、
    便利なのが CHOOSE関数 です。

    =CHOOSE({1,2,3}, A2:A7, B2:B7, C2:C7)

    このように書くと、A列・B列・C列をまとめて一つの配列として扱えます。
    FILTER関数と組み合わせると、列の順番を自由に並べ替えたり、
    必要な列だけを抜き出したりすることが可能です。

    🧩 FILTER × SORT で並べ替えもできる

    FILTER関数の結果をさらに並べ替えたい場合は、
    SORT関数と組み合わせます。

    =SORT(FILTER(A2:C7, C2:C7="H01"), 2, 1)

    これで、「H01の人」だけを従業員名の昇順で表示できます。
    FILTERが“選ぶ”、SORTが“並べる”という役割です。

    💭 FILTER関数に触れて感じたこと

    FILTER関数を使ってみて感じたのは、これは単なる便利な抽出ツールではなく、データの扱い方そのものを変える関数だということです。

    これまでは、必要な情報を「探して」「並べ替えて」「手で絞り込む」ことが当たり前でした。でも、FILTER関数を使うと、条件を書くだけで結果が動き、データが“流れるように”整理されていく感覚があります。

    今までになかった考え方だですよね。Excelの中でこうした自動化や動的処理が当たり前になっていくなら、自分のほうも新しい発想でデータを扱っていかないといけないなぁと感じました・・・!

     
     
    詰めExcel研究家。Excel作業を効率化する方法を中心に、Excelにまつわるエピソードを紹介しています。ITエンジニアとしてスタートし、いろいろあって現在は詰めExcel研究家(Excel効率化厨)となりました。

    あなたへのおすすめ