Excelでデータを並べ替えるとき、多くの人は「データ」タブにある並べ替え機能を使っているでしょう。しかし、この方法は元のデータの順序を直接変更してしまいます。レポートを作成する際など、「元のデータはそのまま残しつつ、並べ替えた結果だけを別の場所に表示したい」というニーズは非常に多いです。
そんな要望に完璧に応えてくれるのが、Microsoft 365で利用できる動的配列関数SORT
(ソート)です。たった一つの数式で、元の表を瞬時に並べ替え、結果を動的に表示させることができます。
今回のゴール:4月度売上表を「合計」の高い順に並べ替える
以下の「4月度売上表」を、E列の「合計」金額が大きい順(降順)に並べ替えた新しい表を、G列以降に作成することが目標です 1。
サンプルデータ

以下は、上記画像のExcelデータですので、ダウンロードして練習として使用ください。
Excel-g734-1.xlsx (ダウンロード)
この機能を試すために、以下のサンプルデータをExcelシートにコピーしてください。
A | B | C | D | E | |
1 | 4月度売上表 | (万円) | |||
2 | 店舗 | 衣料品 | 雑貨 | 食品 | 合計 |
3 | 朝顔店 | 868 | 1,951 | 1,923 | 4,742 |
4 | あやめ店 | 1,031 | 1,687 | 886 | 3,604 |
5 | 紫陽花店 | 1,236 | 1,806 | 1,500 | 4,542 |
6 | 桔梗店 | 1,738 | 1,586 | 2,055 | 5,379 |
解決策:SORT関数の使い方
並べ替えた表を表示したい先頭のセル(例では
G3
)に、以下の数式を一度だけ入力します 2。
Excel
=SORT(A3:E6, 5, -1)
数式を入力してEnterキーを押すだけで、
G3:K6
の範囲に、合計金額の高い順に並べ替えられた表全体が自動的に展開(スピル)されます 3。
数式の解説
SORT
関数の構文は、3つの引数で構成されています(2つ目以降は省略可能)。
SORT(配列,[並べ替えインデックス],[順序])
今回は、基本的な3つの引数を見ていきましょう。
- 配列 (array):
A3:E6
- 並べ替えたい元のデータ範囲全体を指定します 4444。見出しを含まない、実際のデータ部分
A3:E6
が対象です。
- 並べ替えたい元のデータ範囲全体を指定します 4444。見出しを含まない、実際のデータ部分
- 並べ替えインデックス (sort_index):
5
- どの列を基準に並べ替えるかを数値で指定します 5555。引数1で指定した配列の左から何番目の列かを数えます。今回は5番目の「合計」列を基準にしたいので、「
5
」と指定します 6。
- どの列を基準に並べ替えるかを数値で指定します 5555。引数1で指定した配列の左から何番目の列かを数えます。今回は5番目の「合計」列を基準にしたいので、「
- 順序 (sort_order):
-1
- どのように並べ替えるかを指定します 7。
1
または省略:昇順(小さい順、A→Z)-1
:降順(大きい順、Z→A)
- 今回は合計金額の「高い順」にしたいので、「
-1
」(降順)を指定します。
- どのように並べ替えるかを指定します 7。
この数式は、「A3:E6
の範囲を、5列目(合計)を基準に、降順(-1)で並べ替えてください」という命令を実行しているのです。
まとめ
SORT
関数は、これまでのExcelの常識を覆す、非常にパワフルで便利な関数です。
- 非破壊的: 元のデータには一切影響を与えません。
- 動的: 元の表の数値が変更されると、並べ替え結果も自動で更新されます。
- シンプル: たった一つの数式で、複雑な並べ替えが完了します。
レポートやダッシュボード作成において、データを特定の順序で見せたい場面は数多くあります。SORT
関数を使いこなして、より見やすく、より説得力のある資料を効率的に作成しましょう。
コメント