
🔬 最近、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の中でこうした自動化や動的処理が当たり前になっていくなら、自分のほうも新しい発想でデータを扱っていかないといけないなぁと感じました・・・!