SORT関数の使い方|元データを変えずに並べ替える

SORT関数の使い方|元データを変えずに並べ替える

Excelでデータを並べ替えるとき、多くの人は「データ」タブにある並べ替え機能を使っているでしょう。しかし、この方法は元のデータの順序を直接変更してしまいます。レポートを作成する際など、「元のデータはそのまま残しつつ、並べ替えた結果だけを別の場所に表示したい」というニーズは非常に多いです。

そんな要望に完璧に応えてくれるのが、Microsoft 365で利用できる動的配列関数SORT(ソート)です。たった一つの数式で、元の表を瞬時に並べ替え、結果を動的に表示させることができます。

この記事の基本の式
数式=SORT(A3:E6,5,-1)
目次

今回のゴール:4月度売上表を「合計」の高い順に並べ替える

以下の「4月度売上表」を、E列の「合計」金額が大きい順(降順)に並べ替えた新しい表を、G列以降に作成することが目標です。

解決策:SORT関数の使い方

手順:G3 に SORT の式を入れて Enter

4月度売上表(A3:E6)を、合計の高い順に並べ替えて G3 から表示します。元の表は並べ替えません。 G3 に次の式を入力して、Enter キーを押します❶。

G3 に入れる式
=SORT(A3:E6,5,-1)
A3:E6 配列(売上表)5 並べ替えインデックス(5=合計)-1 並べ替え順序(-1=大きい順)
ひとことで売上表を、5 列目(合計)の大きい順に並べ替えて表示する(元の表はそのまま)
式を分けて読むと(色は画像の枠と同じ)
配列A3:E6
どの表を並べ替える?
→ 売上表(見出しは入れない)
並べ替えインデックス5
どの列で並べる?
→ 左から 5 列目の合計
並べ替え順序-1
どちらの順?
→ -1=大きい順(1 か省略で小さい順)
自分の表で使うときは
青に「並べ替えたい表」、紫に「基準の列が左から何列目か」、オレンジに「-1(大きい順)か 1(小さい順)」を入れます。例:得点表 A2:C40 を、3 列目(点数)の高い順に=SORT(A2:C40,3,-1)
  • Microsoft 365・Excel 2021 以降で使えます。結果が広がる先のセルに何か入っていると #SPILL! になります。
エクセルのSORT関数で売上表を合計の大きい順に並べ替える式と、配列・並べ替えインデックス・並べ替え順序を色分けした画面
エクセルのSORT関数で売上表を合計の大きい順に並べ替える式と、配列・並べ替えインデックス・並べ替え順序を色分けした画面

確認:合計の大きい桔梗店から順に並んだ

エクセルのSORT関数で、合計の列を基準に大きい順に並べ替え、桔梗店が先頭に来たことを色で示した画面
エクセルのSORT関数で、合計の列を基準に大きい順に並べ替え、桔梗店が先頭に来たことを色で示した画面

答えは 桔梗店(5,379)が先頭の表 になりました❷。式は、次の順に計算しています。

  1. 5 列目(合計)の値を比べる
    ⇒ 5,379・4,742・4,542・3,604
  2. 大きい順(-1)に、行ごと並べ替えて G3 から表示する
    ⇒ 桔梗店 → 朝顔店 → 紫陽花店 → あやめ店
ヒント:元の表を書き換えると結果も変わる
SORT は元の表を見て並べ替えているので、B〜D 列の売上を書き換えると、並び順も自動で変わります。

まず動かしてみよう|この記事のサンプルをその場で試せます

練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。

サンプルデータ

以下は、上記画像のExcelデータですので、ダウンロードして練習として使用ください。

練習用Excelファイル(無料ダウンロード)
この記事の解説で使うExcelデータです。数式と練習データが入っているので、本文の式を同じ表で試せます。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

この機能を試すために、以下のサンプルデータをExcelシートにコピーしてください。

ABCDE
14月度売上表(万円)
2店舗衣料品雑貨食品合計
3朝顔店8681,9511,9234,742
4あやめ店1,0311,6878863,604
5紫陽花店1,2361,8061,5004,542
6桔梗店1,7381,5862,0555,379

数式の解説

SORT関数の構文は、3つの引数で構成されています(2つ目以降は省略可能)。

SORT(配列,[並べ替えインデックス],[順序])

今回は、基本的な3つの引数を見ていきましょう。

  1. 配列 (array): A3:E6
    • 並べ替えたい元のデータ範囲全体を指定します。見出しを含まない、実際のデータ部分A3:E6が対象です。
  2. 並べ替えインデックス (sort_index): 5
    • どの列を基準に並べ替えるかを数値で指定します。引数1で指定した配列の左から何番目の列かを数えます。今回は5番目の「合計」列を基準にしたいので、「5」と指定します。
  3. 順序 (sort_order): -1
    • どのように並べ替えるかを指定します。
      • 1 または省略:昇順(小さい順、A→Z)
      • -1:降順(大きい順、Z→A)
    • 今回は合計金額の「高い順」にしたいので、「-1」(降順)を指定します。

この数式は、「A3:E6の範囲を、5列目(合計)を基準に、降順(-1)で並べ替えてください」という命令を実行しているのです。

まとめ

SORT関数は、これまでのExcelの常識を覆す、非常にパワフルで便利な関数です。

  • 非破壊的: 元のデータには一切影響を与えません。
  • 動的: 元の表の数値が変更されると、並べ替え結果も自動で更新されます。
  • シンプル: たった一つの数式で、複雑な並べ替えが完了します。

レポートやダッシュボード作成において、データを特定の順序で見せたい場面は数多くあります。SORT関数を使いこなして、より見やすく、より説得力のある資料を効率的に作成しましょう。

動的配列・スピル系の関数の全体像は、こちらのまとめで整理しています。

FILTER 関数の基本と、目的別の式の早見表はFILTER関数の使い方にまとめています。

SORT関数のよくある質問

エクセルのソート関数(SORT関数)で大きい順に並べ替えるには?

3つ目の引数(並べ替え順序)を -1 にします。=SORT(A3:E6,5,-1) は、売上表を5列目(合計)の大きい順に並べ替えて表示します。1 か省略で小さい順です。元の表は並べ替えません。

SORT関数が #SPILL! になるのはなぜ?

結果が広がる先のセルに何か入っていると、#SPILL! になります。SORT 関数は Microsoft 365・Excel 2021 以降で使えます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次