FILTER、SORT、UNIQUEはまとめて語られやすいが、やっていることはそれぞれ異なる。FILTERは条件に合うデータの抽出、SORTは並べ替え、UNIQUEは重複なし一覧の作成だ。
役割が違うぶん、組み合わせ方にも順番がある。この記事では、3つを単独で使う場合、2つずつ組み合わせる場合、3つすべてを組み合わせる場合に分けて整理する。
使い分け表
| 関数 | 主な役割 | 使う場面 |
|---|---|---|
| FILTER | 条件に合う行や列を抽出する | 担当者別、地域別、ステータス別の一覧 |
| SORT | 結果を並べ替える | 日付順、金額順、名前順に見せたい |
| UNIQUE | 重複なし一覧を作る | 担当者リスト、商品リスト、集計軸 |
FILTERは条件抽出
excel
=FILTER(A2:F100,C2:C100="東日本","該当なし")
FILTERは、指定した条件に合う行だけを取り出す関数だ。第3引数に「該当なし」のような文字列を入れておくと、条件に一致するデータがなかったときのエラー表示を防げる。別シートに条件付き一覧を作るときの主役になる関数である。
SORTは並べ替え
excel
=SORT(A2:F100,1,1)
SORTは、一覧の並び順を整える関数だ。第2引数で基準にする列番号、第3引数で昇順(1)・降順(-1)を指定する。抽出した結果をそのまま並べ替えたいときは、FILTERの外側にSORTを重ねて使うことが多い。
UNIQUEは重複なし一覧
excel
=UNIQUE(A2:A100)
UNIQUEは、元データに手を加えず、重複を除いた一覧を別のセルに返す関数だ。集計表の行見出しや、プルダウンリストの元データを作るときに使いやすい。元データが更新されると結果も自動で変わるため、繰り返し使う一覧管理に向いている。

2つずつ組み合わせる例
FILTER + SORT
excel
=SORT(FILTER(A2:F100,C2:C100="東日本"),1,1)
条件に合う行を取り出してから並べ替える。FILTERで絞った結果がそのまま並べ替えの対象になるため、SORTを外側に置く形になる。
UNIQUE + SORT
excel
=SORT(UNIQUE(A2:A100))
重複なし一覧を作ってから、見やすい順に並べる。プルダウンリストの元データとして使う場合は、この形にしておくとユーザーが探しやすい。
FILTER + UNIQUE
excel
=UNIQUE(FILTER(A2:A100,B2:B100="東日本"))
条件に合うデータだけを対象にして、重複なし一覧を作る。UNIQUE単体では全データが対象になるが、FILTERを内側に入れることで絞り込んだ範囲の重複除外ができる。
3つ全部を組み合わせる例
excel
=SORT(UNIQUE(FILTER(A2:A100,B2:B100="東日本")))
この式は、東日本のデータだけを抽出し、重複を除き、最後に並べ替える。内側から「何をするか」が決まる構造なので、まずFILTERで絞り込み、次にUNIQUEで重複を除き、最後にSORTで見せ方を整える、という順番で組み立てると考えやすい。順番を変えると意味が変わるため注意が必要だ。
数式が長くなったらLETを検討する
excel
=LET(data,FILTER(A2:A100,B2:B100="東日本"),SORT(UNIQUE(data)))
入れ子が深くなると、後から修正したいときに読み解くのに時間がかかる。LETを使って中間結果に名前を付けておくと、式が何をしているかの意図が残りやすく、メンテナンスしやすくなる。
まとめ
FILTER、SORT、UNIQUEは、抽出・並べ替え・重複なしという別の役割を持つ関数だ。組み合わせるときは、最終的に得たい結果から逆算して、内側から順番に組み立てていくと整理しやすい。

コメント