SORTBY関数の使い方:指定する範囲のデータを複数の基準で並び替える

SORTBY関数の使い方:指定する範囲のデータを複数の基準で並び替える

SORTBY関数は、指定する範囲のデータを複数の基準で並び替える関数です。

以前に取り上げた「SORT関数」は、単一の基準でデータを並び替えし結果を取り出す関数でしたが、今回取り上げる「SORTBY関数」は、複数の並び替え基準を指定してデータを並び替えることができます。

なお、SORTBY関数はOffice365から使える関数ですので、Excel2019や2016など以前のバージョンでは利用できません。

SORTBY関数の基本的な使い方

対応バージョン:Excel365 2019 2016 2013 2010

SORTBY関数の書式です。

=SORTBY(配列,基準配列1,[並び替え順序1],…)
※カッコ内の「配列,基準配列1,[並び替え順序1]」を引数といいます。

引数の説明

  • 〔配列〕:並び替え対象の配列やセル範囲を指定。
  • 〔基準配列1〕:引数〔配列〕を並び替える際の基準となるデータ範囲を指定。ここの値で並び替える。
  • 〔[並び替え順序1]〕:並べ替えの順序を指定。「1」が昇順、「-1」が降順。省略可能で、省略された場合は「1(昇順)」が指定されたと見なす。

引数〔基準配列〕と〔並び替え順序〕は、126まで組合せて指定可能です。ただ、あまりにも多く指定すると、後になって訳が分からなくなりますので、2~3の組合せが無難なところでしょう。

SORTBY関数の使用例

範囲A2~D9セルのデータを並び替えてF2~I9に結果を取り出します。

SORTBY関数の基本的な使用例

=SORTBY(A2:D9,A2:A9)

引数の説明

  1. 第1引数〔配列〕は、A2~D9セルの範囲で指定。
  2. 第2引数〔基準配列1〕は、A2~A9までの範囲を指定(商品コートで並び替えたいので)。
  3. 第3引数〔並び替え順序〕は、省略していますので「1(昇順)」が指定されたと見なす。

なお、数式は「F2セル」にしか入力していませんが、SORTBY関数は配列数式(スピル)として動作しますので、戻り値が複数行ある場合、結果も複数の行わたって表示されます。

複数の基準で並び替え

複数の並び替え基準で配列を並び替え、結果を取り出すことも可能です。

ここでは、並び替え基準1を商品コードの昇順、並び替え基準2を産地カナの降順にして配列を並び替えし、結果を取り出します。

また、元の配列に商品が追加された場合も考慮し、Excelのテーブル機能を使い、データが追加された場合でも並び替え後のデータに結果が反映されるように工夫してあります。

Excelのテーブル機能を使う

最初に、元データの範囲にデータが追加されても、並び替え結果に反映されるようにします。

そのために、データ範囲をテーブル化します。

Excelのテーブル機能を使う

テーブル作成手順

配列をテーブル機能を使用してテーブル化します。

  1. 配列の先頭にカーソルを置き「挿入」タブから「テーブル」を選択。
  2. 範囲(見出し行も含める)を選択。
  3. 「先頭行をテーブルの見出しとして使用する」にチェックを入れ「OK」を押す。

以上で、データが追加されても並び替えの結果に反映させることができます。逆に、こうしておかなければ、データを追加しても並び替え後の結果には反映されません。

複数の並び替え基準でテーブルを並び替える

複数の基準で並び替え

=SORTBY(テーブル1,テーブル1[商品コード],1,テーブル1[産地カナ],-1)

テーブル化すると、引数の〔配列〕や〔基準配列〕は「テーブル1」、「テーブル1[商品コード]」のように自動で変換されて入力されます。

引数の説明

  1. 第1引数〔配列〕は、テーブル1(A2~D11セルの範囲)で指定。
  2. 第2引数〔基準配列1〕は、テーブル1[商品コード](A2~A11までの範囲)を指定(商品コートで並び替えたいので)。
  3. 第3引数〔並び替え順序〕は、「1(昇順)」を指定。
  4. 第4引数〔基準配列2〕は、テーブル1[産地カナ](D2~D11までの範囲)を指定(産地カナで並び替えたいので)。
  5. 第5引数〔並び替え順序〕は、「-1(降順)」を指定。

これで、商品コードの昇順、産地カナの降順で並び替えることができます。

SORTBY関数と同じ分類の関数

SORTBY関数と同じ系列の関数は以下のページで探せます。

Excel関数カテゴリの最新記事