SORT関数もSORTBY関数も、ともにリストを並べ替えるスピル型関数です。使い方に違いがあるのでポイントを押さえましょう。実務では状況に合わせて使いやすそうな方を採用してください。
第1章:複数の優先キーの指定方法の違い
ExcelにおけるSORT関数とSORTBY関数の主な違いの一つは、複数の優先キーを指定する方法にあります。
1. SORT関数
SORT関数では、第二引数以降に複数の優先キーを指定できます。その際、優先キー(並べ替える列のインデックス)と並べ替え順序を配列定数で指定します。
例えば、以下の表を考えてみましょう。
番号 | 氏名 | 都道府県 | 年齢 |
---|---|---|---|
1 | 田中 太郎 | 東京都 | 25 |
2 | 佐藤 次郎 | 大阪府 | 30 |
3 | 山田 花子 | 福岡県 | 35 |
4 | 田中 一郎 | 東京都 | 40 |
5 | 佐藤 二郎 | 大阪府 | 45 |
6 | 山田 桜子 | 福岡県 | 50 |
都道府県(3列目)を第一優先キーとして昇順で、年齢(4列目)を第二優先キーとして降順で並べ替える場合、以下のように指定します。
=SORT(A2:D7,{3,4},{1,-1})
このように、配列定数{3,4}
を使って優先キーを指定し、配列定数{1,-1}
を使ってそれぞれの並べ替え順序を指定します。※第3引数に1を指定すれば昇順、-1を指定すれば降順になる。
2. SORTBY関数
一方、SORTBY関数では、基準とする配列(並べ替える列の範囲)とその並べ替え順序を交互に指定します。そのため、一つの配列定数でまとめて指定することはありません。
同じ表に対して、都道府県を第一優先キーとして昇順で、年齢を第二優先キーとして降順で並べ替える場合、以下のように指定します。
=SORTBY(A2:D7, C2:C7, 1, D2:D7, -1)
第2章:列方向の並べ替え設定の違い
ExcelのSORT関数とSORTBY関数のもう一つの重要な違いは、列方向の並べ替え設定にあります。
1. SORT関数
SORT関数は列方向の並べ替えが可能です。SORT関数の第四引数「並べ替え基準」をTRUEに設定することで、列方向の並べ替えが行われます。
たとえば、以下の表を列方向に並べ替える場合、以下のように指定します。
氏名 | 田中 太郎 | 佐藤 次郎 | 山田 花子 | 田中 一郎 | 佐藤 二郎 | 山田 桜子 |
---|---|---|---|---|---|---|
都道府県 | 東京都 | 大阪府 | 福岡県 | 東京都 | 大阪府 | 福岡県 |
年齢 | 25 | 30 | 35 | 40 | 45 | 50 |
この表を3行目(年齢)を基準に降順で並べ替える場合、以下のように指定します。
=SORT(B1:G3,3,-1,TRUE)
これにより、1列目の氏名に基づいて列方向の並べ替えが行われます。
2. SORTBY関数
一方、SORTBY関数でも列方向の並べ替えが可能です。ただし、その指定方法はSORT関数とは異なります。
列方向の並べ替えを行うには、基準とする配列を行方向ではなく列方向に指定します。
たとえば、以下の横長の表を年齢の高い順に並べ替える場合、以下のように指定します。
氏名 | 田中 太郎 | 佐藤 次郎 | 山田 花子 | 田中 一郎 | 佐藤 二郎 | 山田 桜子 |
---|---|---|---|---|---|---|
都道府県 | 東京都 | 大阪府 | 福岡県 | 東京都 | 大阪府 | 福岡県 |
年齢 | 25 | 30 | 35 | 40 | 45 | 50 |
=SORTBY(B1:G3,B3:G3,-1)
これにより、年齢の高い順(年齢行)に列方向の並べ替えが行われます。
以上がExcelのSORT関数とSORTBY関数の主な違いです。それぞれの特性を理解し、適切な場面で活用しましょう。
コメント