g734|【Excel動的配列】元データはそのまま!SORT関数で瞬時に並べ替え(ソート)を行う方法

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

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

目次

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

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

サンプルデータ

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

Excel-g734-1.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関数の使い方

並べ替えた表を表示したい先頭のセル(例では

G3)に、以下の数式を一度だけ入力します 2

Excel

=SORT(A3:E6, 5, -1)

数式を入力してEnterキーを押すだけで、

G3:K6の範囲に、合計金額の高い順に並べ替えられた表全体が自動的に展開(スピル)されます 3

数式の解説

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

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

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

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

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

まとめ

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

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

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

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

この記事を書いた人

コメント

コメントする

目次