ExcelのSORT関数で並べ替えの基準となる列を2つ以上指定する方法についてです。単純にSORT関数をネストする方法もありますが、ここでは別の方法で複数のキーを設定し、昇順降順も独立して設定する方法を紹介します。
- SORT関数の第2引数(並べ替えキー)と第3引数(昇順降順)にそれぞれ配列を与えることで、複数のキーによる並べ替えができます。
手順
画像のような名簿があります。
このデータを、SORT関数を使って次の基準で並べ替えるものとします。
- 第1キー……クラスの降順
- 第2キー……学年の昇順
SORTBY関数の場合は並べ替えインデックス(キーとなる列)と並べ替え順序(昇順/降順)を繰り返し指定することができますが、SORT関数の場合はそれぞれ1つずつしか指定できないため、複数の並べ替えキーによる並べ替えは不可能のように思われます。
しかし、引数の記入の方法によって複数の並べ替えキーを設定することができます。
その方法は「各引数を『{ }で囲んだ配列』にすること」です。
実際にF3セルに次のように入力します。
F3セル
=SORT(B3:D11,{3,2},{-1,1})
SORT関数の第2引数(並べ替えキーとなる列番号。指定範囲のうち左から順に1,2,3…)と第3引数(1…昇順,-1…降順)として{ }で囲んだ配列を与えています。引数としては1つずつしか指定できないのですが、それぞれに配列を指定することで複数の並べ替えキーを設定することができます。
確定すると結果はこうなります。
意図したとおり、クラスについてはC→B→Aと降順になり、同じクラスについては1→2→3と昇順になっていることが分かります。
なお、SORTBY関数を用いた次の式により、上記の結果と全く同じ結果を得ることができます。
どちらを用いるかは好み次第ですが、並べ替えキーを列番号(1,2,3…)だけで済ませられる点はSORT関数の特徴といえます。
=SORTBY(B3:D11,D3:D11,-1,C3:C11,1)