FILTER・SORT・UNIQUE関数の使い分け|抽出・並べ替え・重複削除を整理する

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は、元データに手を加えず、重複を除いた一覧を別のセルに返す関数だ。集計表の行見出しや、プルダウンリストの元データを作るときに使いやすい。元データが更新されると結果も自動で変わるため、繰り返し使う一覧管理に向いている。

ロコ
この3つは順番の関数。何を先に絞って、何を残して、最後にどう見せるかを考える。

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は、抽出・並べ替え・重複なしという別の役割を持つ関数だ。組み合わせるときは、最終的に得たい結果から逆算して、内側から順番に組み立てていくと整理しやすい。

コメント

タイトルとURLをコピーしました