Microsoft Excel | SORT関数・SORTBY関数の使い方
この記事では、Microsoft Excelで使用できるSORT関数・SORTBY関数について解説します。
SORT関数とSORTBY関数は、どちらも表形式でまとめられたデータを並べ替えた結果を返す関数です。
似たような機能を持っている関数ですが、それぞれに適した使い所がありますので、その点についても触れていきます。
SORT関数の使い方
SORT関数の引数は以下の4つです。
- 配列|並べ替えを行うデータを指定する。
- 並べ替えインデックス|何番目の項目を基準に並べ替えるのかを数値で指定する。未指定の場合は「1」。
- 並べ替え順序|「1」を指定すると昇順で並べ替え、「-1」を指定すると降順で並べ替える。未指定の場合は昇順。
- 並べ替え基準|「FALSE」を指定すると行を並べ替え、「TRUE」を指定すると列を並べ替える。未指定の場合は行を並べ替える。
第1引数の配列のみ必須で、並べ替えインデックス以降の3つは任意の引数です。
第1引数の配列のみ指定した例
では、簡単な例を見てみましょう。
A1:F6の範囲に5人の成績を表形式でまとめ、A11セルにSORT関数を入力しました。
上の表ではNo.4とNo.5の順序が逆になっていますが、下の表ではNo列を基準にして正しく並べ替えられています。
このように、第1引数の配列だけを指定した場合は、一番左の列を基準に並べ替えられた結果を返します。
第2引数の並べ替えインデックスを指定した例
次に、並べ替えインデックスを使用して、社会の点数の昇順に並べてみます。
先ほどと違い、第2引数に「6」という数値を指定しています。
これは、表の左から6番目の項目を基準に並べ替えを行う、という意味です。
左から6番目の項目は「社会」の列になりますので、戻り値は社会の点数の昇順に並べ替えられた結果になっています。
第3引数の並べ替え順序を指定した例
第3引数の並べ替え順序を使用し、社会の点数の降順に並べてみます。
第2引数までは先の例と同じですが、第3引数に「-1」を指定しました。
これにより、社会の点数の降順で並べ替えられた結果が返されています。
第4引数でTRUEを指定し、列を並べ替えた例
第4引数を使用して列を並べ替えた例を見てみましょう。
A1:F6の表は、先ほどまでの例のものの縦横を入れ替えて作りました。
その上で、B10セルに入力されたSORT関数の第4引数にTRUEを指定しています。
結果、Noの行が昇順になるよう並べ替えられた結果が得られています。
SORTBY関数の使い方
ここからはSORTBY関数について見ていきます。
SORTBY関数の引数は、以下の3種類があります。
- 配列|並べ替えを行うデータを指定する。
- 基準配列n|基準となる列を指定する。
- 並べ替え順序n|「1」を指定すると昇順で並べ替え、「-1」を指定すると降順で並べ替える。未指定の場合は昇順。
基準配列と並べ替え順序は複数指定することができ、nの部分には何番目の項目かを示す数字が入ります。
たとえば、基準配列と並べ替え順序を3つずつ指定する場合、引数の順序は以下のようになります。
SORTBY(配列,基準配列1,並べ替え順序1,基準配列2,並べ替え順序2,基準配列3,並べ替え順序3)
必須指定の引数は配列と基準配列1のみです。それ以降は任意指定の引数になります。
SORTBY関数で配列と基準配列1のみを指定した例
まず、一番シンプルな使用法を見てみましょう。先ほどの5人の成績表をNo順に並べ替えてみます。
第1引数の配列に表全体を指す「A2:F6」を指定し、第2引数に並べ替えの基準となる列「A2:A6」を指定しています。
SORT関数では、並べ替えの基準となる列を指定する際、並べ替えインデックスとして数値を指定していましたが、SORTBY関数では列の参照を指定するようになっています。
SORTBY関数で複数の並べ替え基準を指定した例
次に、基準配列と並べ替え順序を複数指定した例を挙げます。
A11セルに入力したSORTBY関数で、C列の昇順・D列の降順で並べ替えるよう指定しました。
先に指定した基準配列と並べ替え順序が優先されますので、まずC列(国語の点数)の昇順で並べ替えが行われ、C列の値が同じ行についてはD列(算数の点数)の降順で並べ替えが行われています。
SORT関数とSORTBY関数の使い分け
ここまででSORT関数・SORTBY関数の使い方をそれぞれ見てきました。
似たような機能を持った関数なので、使い分けに悩む場面もあるかもしれません。
筆者の見解としては、列を並べ替えたい場合のみSORT関数、それ以外は常にSORTBY関数を使用すればよい、と考えています。
行を並べ替えることに限って言えば、SORT関数でできることはSORTBY関数でもできます。ですので、行の並べ替えには常にSORTBY関数を使用すると決めておいた方が、余計なことに悩まなくて済みます。
まれに、SORT関数のように1つの並べ替え基準しか対応していない関数を使うことで、並べ替え基準が1つであることを後から関数を見る人に読み取りやすくすべき、という意見も目にします。
しかし、SORTBY関数を使用したとしても、並べ替え基準が1つであることは簡単に読み取れますので、そのような考慮は不要だと思います。
おわりに
SORT関数とSORTBY関数の使い方を解説しました。
データを並べ替える、というのはExcelのような表計算ソフトにおいてよく必要となる操作だと思いますので、
ぜひ、これらの関数を活用して作業を効率化してみてください。