SORT関数 ● データを指定した順序で並べ替える

[Excel 2021以降]

Excelの SORT(ソート)関数の使い方を紹介します。

SORT関数はExcel 2021の新関数です。この関数を使うと、表の○列目や○行目のデータを基準に並べ替えを行えます。[データ]タブにある並べ替えの機能とは異なり、元の表はそのまま、別のセル(SORT関数を入力したセル)に並べ替えた結果が表示されます。

スポンサーリンク

書式

データを指定した順序で並べ替える
=SORT(配列, [基準], [順序], [方向])

指定した[基準]、[順序]、[方向]をもとに[配列]を並べ替えます。指定が必須な引数は[配列]だけで、この引数のみを指定した場合、[配列]の1列目を基準に昇順、行単位の並べ替えが行われます。関数式は、動的配列数式として入力されます。

引数

引数 説明
配列 並べ替えの対象となる配列やセル範囲を指定する。
基準 並べ替えの基準を指定する。行単位で並べ替える場合は列番号を、列単位で並べ替える場合は行番号を指定する。既定値は「1」。
順序 昇順(小さい順)で並べ替える場合は「1」を指定する(既定値)。
降順(大きい順)で並べ替える場合は「-1」を指定する。
方向 行単位で並べ替える(行を並べ替える)場合は「FALSE」を指定する(既定値)。
列単位で並べ替える(列を並べ替える)場合は「TRUE」を指定する。

SORT関数による並べ替えの注意事項

  • 大文字と小文字は区別されません。
  • 漢字はふりがな順ではなく文字コード順に並べ替えられます。
  • 日付や時刻はシリアル値で表示されるので、適宜表示形式を設定する必要があります。

使用例1…年齢の小さい順に行単位の並べ替えを行う

図1の名簿を年齢の小さい順に並べ替えます。SORT関数の引数[配列]に並べ替える範囲のセルA3~D9を指定します。年齢は表の4列目にあるので、[基準]に「4」と指定します。小さい順に並べ替えるので、[順序]は省略できます。また、行単位で並べ替えるので、[方向]も省略できます。

=SORT(配列, [基準], [順序], [方向])

セルF3 | =SORT(A3:D9,4)

セルF3に数式を入力して[Enter]キーを押すと、セルF3~I9の範囲に数式がスピル(隣接するセルに数式が自動拡張すること)し、結果が表示されます。

図1 セルF3にSORT関数を入力して[Enter]キーを押す。

図2 数式がセルI9までスピルして、年齢の低い順に並べ替えられたデータが表示される。

ちなみに[順序]に「-1」を指定すれば、年齢の大きい順の並べ替えを行えます。

=SORT(配列, [基準], [順序], [方向])

セルF3 | =SORT(A3:D9,4,-1)

図3 第3引数[順序]に「-1」を指定すると降順の並べ替えになる。

メモ

動的配列数式の編集と削除
SORT関数の戻り値は、数式を入力したセルに隣接する複数のセルに表示されます。このような数式を「動的配列数式」と呼びます。動的配列数式の編集や削除は、数式を入力したセルで行います。例えば図3の数式を修正する場合、セルF3を選択して修正します。[Enter]キーで確定すると、隣接するセルの数式も変わります。また、セルF3を選択して[Delete]キーを押すと動的配列数式が削除され、隣接するセルも含めてすべての戻り値が消去されます。

使用例2…氏名のふりがな順に並べ替える

[データ]タブの[昇順]ボタンや[降順]ボタンによる漢字データの並べ替えでは、セルの内部に保存されているふりがなが使用されます。一方、SORT関数ではふりがなが使用されません。ふりがな順に並べ替えるには表にふりがなの列を設け、PHONETIC関数を使用して漢字のセルからふりがなを取り出します。

=PHONETIC(参照)

セルE3 | =PHONETIC(B3)

図4 セルE3にPHONETIC関数を入力して、セルE9までコピーすると、氏名のふりがなが表示される。

ふりがなを取り出せたら、あとはSORT関数を使用して、5列目のふりがなを基準に並べ替えを行います。

=SORT(配列, [基準], [順序], [方向])

セルG3 | =SORT(A3:E9,5)

図5 セルG3にSORT関数を入力して[Enter]キーを押すと、数式がセルK9までスピルして、氏名のふりがな順に並べ替えられたデータが表示される。

メモ

漢字変換前の読みが取り出される
セルに漢字データを入力すると、漢字変換前の読みがふりがなとしてセルの内部に記憶されます。PHONETIC関数を使用すると、内部に記憶されているふりがなが取り出されます。なお、ほかのアプリからコピー/貼り付けしたセルの場合、セルにふりがなが記憶されていないので、PHONETIC関数を使用してもふりがなを取り出せません。

メモ

ふりがな列を含めて並べ替える
SORT関数の引数[基準]に指定する列番号または行番号は、[配列]内の行/列でなければなりません。ふりがなを基準に表を並べ替える場合、[配列]にはふりがなの列を含めた範囲を指定することになります。
なお、並べ替えを行う関数にはSORTBY関数も用意されています。SORTBY関数であれば表外の行や列を基準に並べ替えを行うことができます。例えば図4の例でSORTBY関数を使うと、5列目のふりがなを基準に4列目までの範囲(セルA3~D9)だけを並べ替えられます。具体例は「SORTBY関数 ● データを指定した順序で並べ替える」を参照してください。

使用例3…複数の列を基準に並べ替える

SORT関数では、並べ替えの基準を1つしか指定できません。複数の列を基準に並べ替えるには、SORT関数を入れ子にします。優先順位の低い並べ替えを内側、高い並べ替えを外側のSORT関数で指定します。
図6では、コース(3列目)の昇順、年齢(4列目)の降順で並べ替えを行います。内側のSORT関数の引数[基準]に「4」、外側のSORT関数の引数[基準]に「3」を指定します。

=SORT(配列, [基準], [順序], [方向])

セルF3 | =SORT(SORT(A3:D9,4,-1),3,1)

図6 セルF3にSORT関数を入れ子にして入力する。[Enter]キーを押すと、数式がセルI9までスピルして、データが「コース」の昇順で並べ替えられる。同じ「コース」の中では、「年齢」の降順に並べ替えられる。

使用例4…最下行の「合計」を基準に列単位で並べ替える

SORT関数で列単位の並べ替えを行うには、第4引数の[方向]に「TRUE」を指定します。図7では、各店舗のデータ(セルB2~D7)を6行目の「合計」の降順で並べ替えます。

=SORT(配列, [基準], [順序], [方向])

セルG2 | =SORT(B2:D7,6,-1,TRUE)

図7 セルG2にSORT関数を入力して[Enter]キーを押す。

図8 数式がセルI7までスピルして、合計の大きい店舗順に並べ替えられたデータが表示される。

SORTBY関数との使い分け

Excelには並べ替え用の関数としてSORT関数とSORTBY関数が用意されています。それぞれのメリットを理解して使い分けましょう。

SORT関数

  • 並べ替えの基準の行や列を番号で指定できるので、単純な並べ替えをするときに簡単な指定で済む。

SORTBY関数

  • 1つの関数で複数の基準を指定して並べ替えを行える。
  • 表外のデータを基準に並べ替えを行える。
スポンサーリンク

関連記事