1/23/2020

Excel。SORT関数は、列の並び替えもできるのです!複数条件ならSORTBY関数の登場です。【Sort】

Excel。SORT関数は、列の並び替えもできるのです!複数条件ならSORTBY関数の登場です。

<SORT関数・SORTBY関数>

Office365 InsiderのExcelに新しく加わった【SORT関数】というのがあります。

Office365 Insiderなので、Excel2016などには、ありませんが、ちょっとした時に、便利な関数なので、ご紹介していきます。

SORT関数ということからわかるように、並び替えを行うことができる関数です。

まずは、動きを確認しておきましょう。
次の表があります。

注意点というか、通常の並び替えと異なり、関数、つまり数式なので、現在のデータをそのまま並び替えるわけではありません。

あと、見出し行は除いて範囲選択する必要があります。

見出し行を含めると当然データ行とミックスされてしまいます。

SORT関数は、
SORT(配列,並び替えインデックス,並び替え順序,並び替え基準)
という引数を持っています。

なので、SORT関数は、ダイアログボックスを表示するよりも、手入力するほうがわかりやすいので、手入力で設定するといいように思います。

今回は、売上高を降順で並び替えを行うことにします。

E2にSORT関数を設定していきます。

=SORT(A2:C6,3,-1,FALSE)
と設定したら、Office365 InsiderのExcelの新機能である「スピル」によって、オートフィルを使うことなく、必要な範囲に数式が反映されます。


では、数式を確認していきましょう。

=SORT(A2:C6,3,-1,FALSE)

配列は、A2:C6。見出し行を除いて、データ行を選択します。仮に最終行が合計行だった場合は、合計行は除きます。

並び替えインデックスは、3。
配列で選択した範囲の左から何列目を基準として並び替えを行うのかを設定します。

並び替えの順序には、「-1」。「1」が昇順で「-1」が降順です。
今回は、降順で並び替えを行うので、「-1」。

並び替え基準には、「FALSE」を設定します。
「FALSE」は行を対象にした並び替えを行います。
「TRUE」は列を対象にした並び替えを行います。

このように、並び替えを行うことができる関数が登場しました。

そして、このSORT関数は、行だけでなく列の並び替えも簡単に行うことができます。

次の表を用意しました。

【列の並び替えも簡単にできるSORT関数】
見出し列は範囲選択から除外してデータのみを範囲選択することになります。

B12をクリックして、次のように数式を設定します。

=SORT(B9:F10,2,-1,TRUE)
列の場合は、並び替え基準を「TRUE」に設定すればいいだけです。

あとは、スピルによって、自動的に範囲が設定されます。

今まで列の並び替えを行うことは、大変な作業でしたが、SORT関数を使うことで、簡単に列で並び替えを行うことができました。

最後に、複数条件で並び替えを行う場合はどうしたらいいのでしょうか?

【複数条件ならばSORTBY関数】
複数条件で並び替えをするには、SORTBY関数を使います。

基本的に、SORT関数と使い方は似ています。

次の表があります。

F16をクリックして、SORTBY関数ダイアログボックスを表示して次のように設定していきます。

配列には、A16:D20。見出し行を除いたデータをすべて範囲選択
基準配列1は、第一条件で並び替えをしたい範囲を選択しますので、D16:D20
並び替え順序1は、「1」ならば昇順、「-1」ならば降順で並び替えをおこなうことができます。

今回は、昇順にしたいので、「1」で設定します。

基準配列2は、第二条件の並び替えを範囲選択しますので、C16:C20。
並び替え順序2は、金額の高い順にしたいので、「-1」の降順で設定します。

F16の数式は、
=SORTBY(A16:D20,D16:D20,1,C16:C20,-1)

実行して確認してみましょう。

複数条件で並び替えを行うことができました。

Office365 Insiderには、色々新しく追加された関数がありますので、知識をプラスしていくと、さらに色々できるかもしれませんね。