Excelで売上表やテスト結果のデータ管理をしていると、
「名前の一覧を得点順に」「商品リストを在庫数の多い順に」といった並べ替えが必要になることがあります。
そんなときに役立つのが SORTBY関数です。
SORTBY関数 を使えば、こうした処理を自動化でき、基準となる列を自由に選んでデータを動的に並べ替えることができます。表が更新されても自動的に並び替えてくれるため、日々の集計作業を効率化できます。
SORTBY関数とは?
SORTBY関数 は、指定した範囲を、別の範囲(基準)をもとに並べ替える関数です。
Excel 365 / Excel 2021 以降で利用できる動的配列関数で、結果は自動的にスピル(複数セルに展開)されます。
書式
=SORTBY(範囲, 並べ替え基準1, 並べ替え順序1, [並べ替え基準範囲2], [並べ替え順序2], …)
引数の説明
- 範囲:並べ替え結果として表示したいセル範囲。
- 並べ替え基準範囲:並べ替えの基準となる列や行を指定。
- 並べ替え順序:並べ替えの昇順・降順を指定。
1
:昇順(小さい順)-1
:降順(大きい順)
使用例①:売上金額で商品を降順に並べ替える
商品名 | 売上 |
---|---|
りんご | 1200 |
バナナ | 900 |
メロン | 2400 |
みかん | 1500 |
=SORTBY(C4:D7, D4:D7, -1)
👉 結果:

売上(D列)を基準に、降順(大きい順)で商品名(C列)を並べ替えました。
使用例②:複数の基準で並べ替える
氏名 | クラス | 得点 |
---|---|---|
佐藤 | A | 90 |
鈴木 | B | 85 |
田中 | A | 70 |
高橋 | B | 95 |
=SORTBY(B4:D7, C4:C7, 1, D4:D7, -1)
👉 結果:

クラス(C列)を昇順で並べ、同じクラス内では得点(D列)を降順で並べ替えています。
注意点
注意点 | 内容 |
---|---|
対応バージョン | Excel 365 / 2021 以降 |
スピルの制約 | 出力先にデータがあると #SPILL! エラーになる |
範囲の行数 | 並べ替え対象と基準範囲の行数は一致している必要あり |
複数基準 | 上から順に優先度が高い |
関連関数
関数 | 説明 |
---|---|
SORT関数 | 指定した範囲を直接並べ替える(同一範囲内で完結) |
FILTER関数 | 条件を満たすデータだけを抽出 |
UNIQUE関数 | 重複を除いた一覧を作成 |
SEQUENCE関数 | 連続した数値を生成(連番を作るときに便利) |
まとめ
SORTBY関数 は、別の列や条件を基準にデータを並べ替えるときに非常に便利です。
SORT関数 より柔軟で、「表示したい列」と「基準となる列」を自由に分けて扱えるのが特徴。
複数の条件を使って並べ替えたい場合や、元の表をそのまま残したい場合にも最適な関数です。