Excel セル範囲を複数の基準列を指定して並び替える(SORTBY関数)

2023年1月19日

SORTBY関数は2019年に実装されたスピルの関連関数で、

指定の一覧表を特定列の順序で並び替える関数です。

データの並び替えの関数版に近い働きをします。

この記事ではSORTBY関数の使い方と

既存機能(データの並び替え)及び、同時期に実装されたSORT関数との比較を紹介します。

仕様

=SORTBY(配列,基準配列1~,並び替え順序1~, )

引数省略時の値説明
配列省略不可並び替える範囲を指定。
基準配列1~後述並び替える基準とする列を範囲で指定
並び替え順序1~1並び替え順序を指定
・ 1…昇順
・-1…降順

配列と基準配列1は必須ですが、それ以降は任意です。

並び替え順序は省略も可能ですが、数式がややこしくなるため

基準配列と並び替え順序は、セットで指定することを推奨します。

使用例

数式を入力すると引数1のセル範囲が並び替えられた結果が表示されます。

この数式を入力したセル以外にも関数が自動拡大されますが、

最初のセル以外はゴーストと呼ばれるセルで編集不可能です。

(編集すると#SPILLエラー

種類の昇順、値段の降順に並び替える例
種類の昇順、値段の降順に並び替える例

他の機能との比較

SORT関数

同時期に追加されたSORT関数との違いは下の通りです。

比較点SORT関数SORTBY関数
並び替えの基準× 1列のみ〇 1~126列
列の指定× 数値〇 列範囲
並び替えの方向〇 行(縦)・列(横)切替可能× 行(縦)方向のみ

SORT関数が有利な点は並び替えの方向を切り替えられることだけですが、

横方向に並び替えることはかなりレアケースなので

ほぼ利点になっていないと思われます。

よってSORTBY関数を使用し方向を変えたい場合は

コピー&ペーストで行列を入れ替えるほうが現実的でしょう。

並び替え

従来、並び替えを行う場合はデータの並び替えが選択肢でしたが、

そこにSORTBY関数が追加されました。

データの並び替えはデータを更新した場合

毎回、範囲や並び替え基準を設定する必要があるため

日次などのルーチンワークには煩わしさがありましたが、

SORTBY関数によって解消が見込めます。

逆に非定型作業ではこれまで通り、

データの並び替えを使う方が取り回しが良いでしょう。

ただしOffice365や2019以降でしかSORTBY関数は使えないため

それ以外のバージョンではデータの並び替えだけが選択肢です。

項目並び替えSORTBY関数
ルーチンワーク× 毎回、手作業で設定が必要。〇 数式を作成すれば流用可能。
非定型業務〇 調査業務など様々な条件で並び替える場合に向く。× 数式を作り変える必要があるため、様々な条件で並び替えたい場合には劣る。
Excelのバージョン〇 古いバージョンでも可能。× Office365や2019以降の新しいバージョンのみ。

他の関数との組み合わせ

FILTER関数

FILTER関数の結果を引数1に指定することで、

その結果を並び替えることが可能です。

VSTACK関数・HSTACK関数

VSTACK関数・HSTACK関数で複数の範囲を対象にすることが可能です。

Excelを効率的に習得したい方へ

当サイトの情報を電子書籍用に読み易く整理したコンテンツを

買い切り950円またはKindle Unlimited (読み放題) で提供中です。

Word-A4サイズ:1,400ページの情報量で

(実際のページ数はデバイスで変わります)

基本的な使い方、関数の解説(140種類)、

頻出テクニックと実用例(109種類)、

XLOOKUP関数、LET関数、シートビュー、LAMBDA関数、スピルなど便利な新機能を紹介。

体系的に学びたい方は是非ご検討ください。

アップデートなどの更新事項があれば随時反映しています。

なお購入後に最新版をダウンロードするには

Amazonへの問い合わせが必要です。

関連記事

Excel 関数の仕様と使い方の記事一覧