[Excel 2021以降]
Excelの SORTBY(ソート・バイ)関数の使い方を紹介します。
SORTBY関数はExcel 2021の新関数です。この関数を使うと、並べ替えの基準となる配列を指定して表の並べ替えを行えます。[データ]タブにある並べ替えの機能とは異なり、元の表はそのまま、別のセル(SORTBY関数を入力したセル)に並べ替えた結果が表示されます。ここでは、SORTBY関数による基本的な表の並べ替えを紹介します。
目次
書式
データを指定した順序で並べ替える
=SORTBY(配列, 基準配列1, [順序1], [基準配列2, 順序2]…)
指定した[基準配列]、[順序]をもとに[配列]を並べ替えます。[基準配列]と[順序]はペアで指定します。[基準配列]と[順序]を複数組指定する場合は、優先順位の高い順に指定します。[順序1]を省略した場合、昇順の並べ替えが行われます。関数式は、動的配列数式として入力されます。
■引数
引数 | 説明 |
---|---|
配列 | 並べ替えの対象となる配列やセル範囲を指定する。 |
基準配列 | 並べ替えの基準となる配列やセル範囲を指定する。 行単位で並べ替える場合は「[配列]の行数×1列」の配列を指定する。 列単位で並べ替える場合は「1行×[配列]の列数」の配列を指定する。 |
順序 | 昇順(小さい順)で並べ替える場合は「1」を指定する(既定値)。 降順(大きい順)で並べ替える場合は「-1」を指定する。 |
■SORTBY関数による並べ替えの注意事項
- 大文字と小文字は区別されません。
- 漢字はふりがな順ではなく文字コード順に並べ替えられます。
- 日付や時刻はシリアル値で表示されるので、適宜表示形式を設定する必要があります。
使用例1…年齢の小さい順に行単位の並べ替えを行う
図1の名簿を年齢の小さい順に並べ替えます。SORTBY関数の引数[配列]に並べ替える範囲のセルA3~D9を指定します。[基準配列1]に並べ替えの基準となる年齢のセルD3~D9を指定します。小さい順に並べ替えるので、[順序1]は省略できます。
=SORTBY(配列, 基準配列1, [順序1], [基準配列2, 順序2]…)
セルF3 | =SORTBY(A3:D9,D3:D9)
セルF3に数式を入力して[Enter]キーを押すと、セルF3~I9の範囲に数式がスピル(隣接するセルに数式が自動拡張すること)し、結果が表示されます。
ちなみに[順序1]に「-1」を指定すれば、年齢の大きい順の並べ替えを行えます。
=SORTBY(配列, 基準配列1, [順序1], [基準配列2, 順序2]…)
セルF3 | =SORTBY(A3:D9,D3:D9,-1)
メモ
使用例2…氏名のふりがな順に並べ替える
[データ]タブの[昇順]ボタンや[降順]ボタンによる漢字データの並べ替えでは、セルの内部に保存されているふりがなが使用されます。一方、SORTBY関数ではふりがなが使用されません。ふりがな順に並べ替えるには表にふりがなの列を設け、PHONETIC関数を使用して漢字のセルからふりがなを取り出します。
=PHONETIC(参照)
セルE3 | =PHONETIC(B3)
ふりがなを取り出せたら、あとはSORTBY関数を使用して、ふりがなのセルE3~E9を基準に並べ替えを行います。
=SORTBY(配列, 基準配列1, [順序1], [基準配列2, 順序2]…)
セルG3 | =SORTBY(A3:E9,E3:E9)
メモ
使用例3…複数の列を基準に並べ替える
SORTBY関数で[基準配列]と[順序]のペアを複数組指定すると、複数の列を基準とした並べ替えを行えます。その際、優先順位の高い順に[基準配列]と[順序]のペアを指定してください。
図6では、コース(セルC3~C9)の昇順、年齢(セルD3~D9)の降順で並べ替えを行います。
=SORTBY(配列, 基準配列1, [順序1], [基準配列2, 順序2]…)
セルF3 | =SORTBY(A3:D9,C3:C9,1,D3:D9,-1)
使用例4…最下行の「合計」を基準に列単位で並べ替える
SORTBY関数では、並べ替えの方向は[基準配列]の方向によって決まります。
- 行単位の並べ替え : 縦一列の配列を指定
- 列単位の並べ替え : 横一行の配列を指定
図7では、各店舗のデータ(セルB2~D7)を「合計」のセルB7~D7の降順で並べ替えます。セルB7~D7は横一行の配列なので、列単位の並べ替えが行われます。
=SORTBY(配列, 基準配列1, [順序1], [基準配列2, 順序2]…)
セルG2 | =SORTBY(B2:D7,B7:D7,-1)
SORT関数との使い分け
Excelには並べ替え用の関数としてSORT関数とSORTBY関数が用意されています。それぞれのメリットを理解して使い分けましょう。
■SORT関数
- 並べ替えの基準の行や列を番号で指定できるので、単純な並べ替えをするときに簡単な指定で済む。
■SORTBY関数
- 1つの関数で複数の基準を指定して並べ替えを行える。
- 表外のデータを基準に並べ替えを行える。