この記事で分かること
- 「スピル」とは何か、なぜ便利なのか
- SORT・UNIQUE・FILTER 関数の基本的な使い方
- 3つの関数を組み合わせた実用例
「並べ替えや重複削除を毎回手作業でやっている」「SORT や FILTER という関数の名前は聞いたことがあるが使い方が分からない」という方に向けて書いています。
どんな場面で使うか
- 顧客リストやマスターデータを常に昇順・降順で表示しておきたい
- データの中から重複を除いたユニークな値だけ抽出したい(部署一覧・商品カテゴリ一覧など)
- 条件に合う行だけ別の場所に自動で表示したい
- 元データを変えずに「見やすく整理された表示」を作りたい
基本説明
スピルとは何か
通常の Excel 関数は「1つのセルに1つの値を返す」ものです。スピル(Spill)関数は結果が複数になる場合、隣接するセルに自動で広がって表示されます。
たとえば =SORT(売上データ!G2:G20) と入力すると、入力したセル(例: A1)から始まり、並べ替えた10件の結果が A1:A19 に自動展開されます。この「自動で広がる」動作がスピルです。

並べ替えなどで使用したい元データ

スピルで値が広がるイメージ
スピルを使う上での注意点:
- スピル先(広がる先)のセルは空にしておく必要があります。値が入っているとエラーになります
- スピルで出力された範囲は自動で更新されます(元データを変えると結果も変わる)
バージョン制限
SORT・UNIQUE・FILTER の3関数は Microsoft 365(サブスクリプション版) または Excel 2021 以降 が必要です。Excel 2019・2016・2013 では使えません。会社の Excel バージョンを確認してから試してください。
手順
SORT 関数 — データを自動で並べ替える
書式:
=SORT(配列, [並べ替えインデックス], [並べ替え順序], [並べ替えの方向])
- 配列: 並べ替える範囲(必須)
- 並べ替えインデックス: 何列目を基準にするか(省略すると1列目)
- 並べ替え順序: 1=昇順(省略時)、-1=降順
- 並べ替えの方向: 1=列方向(省略時)、2=行方向
使用例: 売上金額の大きい順に並べ替える
=SORT(売上データ!A2:C10, 3, -1)
A2:C10 の範囲を、3列目(売上金額)の降順で並べ替えた結果を返します。

SORT関数の使用例
UNIQUE 関数 — 重複を除いたリストを作る
書式:
=UNIQUE(配列, [列で比較], [1回だけ出現])
- 配列: 対象の範囲(必須)
- 列で比較: FALSE=行で比較(省略時)、TRUE=列で比較
- 1回だけ出現: FALSE=重複を除外(省略時)、TRUE=1回だけ出現した値のみ
使用例: 担当者の一覧を重複なしで作る
=UNIQUE(売上データ!B2:B50)
B列の値から重複を取り除いたリストが出力されます。ドロップダウンリストの元データとして使うのが典型的な用途です。

UNIQUE関数の使用例
FILTER 関数 — 条件に合う行だけ抽出する
書式:
=FILTER(配列, 含む, [空の場合])
- 配列: 抽出する範囲(必須)
- 含む: 抽出条件(TRUE/FALSEの配列)(必須)
- 空の場合: 条件に合う行がない場合に表示する値(省略すると空白)
使用例: 部署が「営業」の行だけ抽出する
=FILTER(売上データ!A2:D50, 売上データ!C2:C50="東京", "該当なし")
C列が「東京」の行だけ A〜D列の値を返します。条件に合う行がない場合は「該当なし」と表示します。

FILTER関数の使用例
サンプル例
3つの関数を組み合わせた実用例です。
目的: 売上データから「関東エリア」の行だけ抽出し、売上金額の高い順に表示する
=SORT(FILTER(A2:D100, B2:B100="関東"), 4, -1)
FILTER(A2:D100, B2:B100="関東")→ B列が「関東」の行だけ抽出SORT(…, 4, -1)→ 4列目(売上金額)の降順で並べ替え
元データを変更するたびに自動で再計算されます。
担当者リストを重複なし・昇順で作る
=SORT(UNIQUE(B2:B100))
B列から重複を除いたリストを昇順で表示します。ドロップダウンリストの元データ(INDIRECT関数と組み合わせて)として使えます。
よくあるエラー
#SPILL! エラーが出る
スピルで結果が広がる先のセルに値や数式が入っているために起きます。スピル先(出力される予定のセル範囲)を空にしてください。
エラーが出ているセルをクリックすると、スピルしようとしていた範囲が点線で表示されます。その範囲内のセルをクリアすると解消します。
#CALC! エラーが出る
FILTER 関数で条件に合う行がゼロだった場合に起きます。第3引数(空の場合)を指定していない場合に表示されます。以下のように指定しておくと安全です。
=FILTER(A2:D100, C2:C100="営業", "該当なし")
「名前が無効」エラーが出る
SORT・UNIQUE・FILTER は対応していないバージョンでは関数名として認識されません。Excel のバージョンを確認してください。Microsoft 365 サブスクリプションまたは Excel 2021 以降が必要です。
まとめ
| 関数 | 用途 |
|---|---|
SORT |
データを指定した列で自動的に並べ替える |
UNIQUE |
重複を除いたリストを作る |
FILTER |
条件に合う行だけ別の場所に表示する |
3つを組み合わせることで「特定条件で絞り込んで、重複を除いて、並べ替えて表示する」といった処理が1つの数式で完結します。元データを触らずに「見やすい表示」を別シートや別セル範囲に作れるのがスピル関数の強みです。
