SORT関数とSORTBY関数の主な違い

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に設定することで、列方向の並べ替えが行われます。

たとえば、以下の表を列方向に並べ替える場合、以下のように指定します。

氏名田中 太郎佐藤 次郎山田 花子田中 一郎佐藤 二郎山田 桜子
都道府県東京都大阪府福岡県東京都大阪府福岡県
年齢253035404550

この表を3行目(年齢)を基準に降順で並べ替える場合、以下のように指定します。

=SORT(B1:G3,3,-1,TRUE)

これにより、1列目の氏名に基づいて列方向の並べ替えが行われます。

2. SORTBY関数

一方、SORTBY関数でも列方向の並べ替えが可能です。ただし、その指定方法はSORT関数とは異なります。

列方向の並べ替えを行うには、基準とする配列を行方向ではなく列方向に指定します。

たとえば、以下の横長の表を年齢の高い順に並べ替える場合、以下のように指定します。

氏名田中 太郎佐藤 次郎山田 花子田中 一郎佐藤 二郎山田 桜子
都道府県東京都大阪府福岡県東京都大阪府福岡県
年齢253035404550
=SORTBY(B1:G3,B3:G3,-1)

これにより、年齢の高い順(年齢行)に列方向の並べ替えが行われます。

以上がExcelのSORT関数とSORTBY関数の主な違いです。それぞれの特性を理解し、適切な場面で活用しましょう。

コメント