SORTBY関数の使い方|合計の大きい順に表を並べ替える(SORTとの違い)

SORTBY関数の使い方|合計の大きい順に表を並べ替える(SORTとの違い)

前回の記事では、SORT関数を使って表全体を並べ替える方法を解説しました。今回は、その兄弟とも言えるもう一つの強力な並べ替え関数、SORTBY(ソートバイ)を紹介します。

SORT関数とSORTBY関数の違いは、並べ替えの基準の指定のしかたです。SORT関数は列番号(例: 5)で、SORTBY関数はセル範囲(例: E3:E6)で指定します。この記事の例では、どちらも結果は同じです。

SORTBY関数は、SORT関数と同様に動的な並べ替えを行いますが、「並べ替えの基準となる列」をより柔軟に指定できるという大きな特長があります。この違いを理解すれば、あなたのデータ分析スキルはさらに向上するでしょう。

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

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

SORT関数と同じく、以下の「4月度売上表」を、E列の「合計」金額が大きい順(降順)に並べ替えます。今回はこのお題をSORTBY関数を使って解決してみましょう。

解決策:SORTBY関数の使い方

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

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

G3 に入れる式
=SORTBY(A3:E6,E3:E6,-1)
A3:E6 配列(売上表)E3:E6 基準配列1(合計の列)-1 並べ替え順序1(-1=大きい順)
ひとことで売上表を、合計の列の大きい順に並べ替えて表示する(元の表はそのまま)
式を分けて読むと(色は画像の枠と同じ)
配列A3:E6
どの表を並べ替える?
→ 売上表(見出しは入れない)
基準配列1E3:E6
何を基準に並べる?
→ 合計の列(範囲で指定)
並べ替え順序1-1
どちらの順?
→ -1=大きい順(1 で小さい順)
自分の表で使うときは
紫は「列の番号」ではなく「基準の列の範囲」で指定します。並べ替えの基準を表の外の列にすることもできます。例:名簿 A2:C40 を、点数(D 列)の高い順に=SORTBY(A2:C40,D2:D40,-1)
  • Microsoft 365・Excel 2021 以降で使えます。結果が広がる先のセルに何か入っていると #SPILL! になります。
  • 配列と基準配列は、同じ行(ここでは 3〜6 行目)にそろえます。
エクセルのSORTBY関数で売上表を合計の列を基準に大きい順へ並べ替える式と、配列・基準配列・並べ替え順序を色分けした画面
エクセルのSORTBY関数で売上表を合計の列を基準に大きい順へ並べ替える式と、配列・基準配列・並べ替え順序を色分けした画面

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

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

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

  1. 合計の列(E3:E6)の値を比べる
    ⇒ 5,379・4,742・4,542・3,604
  2. 大きい順(-1)に、行ごと並べ替えて G3 から表示する
    ⇒ 桔梗店 → 朝顔店 → 紫陽花店 → あやめ店
ヒント:SORT との違い
SORT は「何列目か」の番号で基準を指定し、SORTBY は「基準の範囲」で指定します。結果は同じです(SORT関数の使い方)。

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

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

サンプルデータ

以下は、上記画像の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

数式の解説

SORTBY関数の基本的な構文は次の通りです。

SORTBY(配列,基準配列1,[順序1],…)

  1. 配列 (array): A3:E6
    • 並べ替えた結果として表示したいデータ範囲全体を指定します。SORT関数と同じです。
  2. 基準配列1 (by_array1): E3:E6
    • 【最重要ポイント】 並べ替えの基準として使用するセル範囲を指定します。今回は「合計」列を基準にしたいので、E3:E6の範囲を指定します。この配列の行数は、引数1の「配列」の行数と一致している必要があります。
  3. 順序1 (sort_order1): -1
    • 基準配列1をどのような順序で並べ替えるかを指定します。
      • 1 または省略:昇順(小さい順)
      • -1:降順(大きい順)
    • 今回は合計が「高い順」なので、「-1」(降順)を指定します。

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

SORTとSORTBY、どちらを使うべき?

どちらも似ていますが、明確な違いがあります。

  • SORT関数: 並べ替えの基準を列番号(例: 5)で指定します。シンプルで分かりやすいのが利点です。
  • SORTBY関数: 並べ替えの基準をセル範囲(例: E3:E6)で指定します。これにより、数式がどの列を参照しているか直感的に分かりやすく、列の挿入などによるエラーが起きにくいという利点があります。また、並べ替えの基準が、結果として表示したい表の外側にあっても良いため、より柔軟な使い方が可能です。

例えば、「社員リスト(表示したい配列)を、別の場所にある入社年月日リスト(基準配列)の順に並べ替える」といった場合にSORTBYは真価を発揮します。

まとめ

SORTBY関数は、SORT関数よりもセマンティック(意味が分かりやすい)で、柔軟性の高い並べ替えを実現します。どちらの関数も非常に強力ですが、特に並べ替えの基準が複雑な場合や、数式の可読性を高めたい場合にはSORTBY関数がおすすめです。

状況に応じてこの2つの関数を使い分け、データ分析の効率を最大限に高めましょう。

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

SORTBY関数のよくある質問

SORT関数とSORTBY関数の違いは?

SORT関数は並べ替えの基準を列番号(例: 5)で、SORTBY関数はセル範囲(例: E3:E6)で指定します。SORTBY関数は、並べ替えの基準が、表示したい表の外側にあっても使えます。

SORTBY関数で大きい順(降順)に並べ替えるには?

並べ替え順序に -1 を指定します。=SORTBY(A3:E6,E3:E6,-1) は、売上表を合計の列の大きい順に並べ替えます。1 または省略すると、小さい順(昇順)になります。

SORTBY関数が使えるExcelのバージョンは?

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

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

この記事を書いた人

目次