LEVEL 6 モダンExcelへの扉 中級
Lesson 058

SORT関数について

練習用Excelファイル lesson058-practice.xlsx

練習用ファイルは、パソコンからダウンロードしてください。

SORT関数について

スピル系の関数、第二弾は SORT関数(ソート関数) です。

ソート」は英語で「並び替え」。Excel には、もともと [データ] タブ に「並べ替え」というメニュー機能がありました。

SORT関数は、これを 数式でやってしまう 関数です。

メニュー機能と何が違うのか? ── 元のデータに手を加えずに、別の場所に並び替えた結果を表示できる のが、SORT関数の良いところです。元のデータはそのまま、参照側だけが並び替えられる、というイメージです。

関数ライブラリ
関数ライブラリ


SORT関数の構文

=SORT(配列,並び替えインデックス,並べ替え順序,並び替え基準)

引数は4つ。第1引数の「配列」と、第3引数の「並び替え順序」がメインです。

最後に第2引数「並び替えインデックス」を使います。VLOOKUP関数の列番号を思い出しておいてください。

関数ライブラリ
関数ライブラリ


具体例で見てみる:昇順

テストの点数を、昇順(小さい順)に並び替えてみます。

:::excel
A1=点数
A2=80
A3=65
A4=92
A5=58
A6=73
:::

C2 セルに次の数式を入れます。

=SORT(A2:A6)

結果は、

SORTで昇順に並ぶ
SORTで昇順に並ぶ

C2 に数式を1つ入れただけで、A列の点数が 小さい順 に並び替えられて C列に表示されました。これもスピルですね。

注目してほしいのは、A列(元データ)は何も変わっていない こと。並び替えの結果だけが、別の場所に表示されています。


降順にしたいとき:第3引数を「-1」に

大きい順(降順)」に並び替えたいときは、第3引数を使います。

=SORT(配列, 並び替えインデックス, 並び替え順序)

降順にするには、3つ目の引数に -1 を指定します。

=SORT(A2:A6,, -1)

第3引数に-1
第3引数に-1

結果:

SORTで降順に並ぶ
SORTで降順に並ぶ

今度は 大きい順 に並びました。

1=昇順、-1=降順」── マイナスが付いたら逆方向、と覚えてください。


文字列も並び替えできる

数値だけでなく、文字列(あいうえお順) でも並び替えできます。

:::excel
A1=社員名
A2=田中
A3=鈴木
A4=佐藤
A5=山田
A6=高橋
:::

=SORT(A2:A6)

結果:佐藤 → 鈴木 → 高橋 → 田中 → 山田

五十音順で並び替えられます。-1 を指定すれば、逆順(山田 → 田中 → 高橋 → 鈴木 → 佐藤)になります。

ただし、漢字は変換したひらがなが基準 となりますので、名前の並び替えはローマ字やフリガナ列で行うと確実です。

また、アルファベット→カタカナ→ひらがな→漢字 という優先度で並び替えがされます。


表全体を並び替える

範囲を 複数列 にすれば、表全体を並び替えることもできます。

:::excel
A1=社員名
B1=点数
A2=田中
B2=80
A3=鈴木
B3=65
A4=佐藤
B4=92
A5=山田
B5=58
A6=高橋
B6=73
:::

第2引数を使い、点数(B列)を基準に、そして表全体を 降順 に並び替えます。関数は以下のようになります。

=SORT(A2:B6, 2, -1)

  • 配列:A2:B6(社員名と点数のセット)
  • 並び替えインデックス:2(範囲の中の2列目=点数)
  • 並び替えの順序:-1(降順)

結果:

表全体を点数の降順で並び替え
表全体を点数の降順で並び替え

点数が高い順に、社員名と点数のセットで並び替えられました。「2列目を基準に、降順」 という指定だけで、表全体がきれいに整います。

VLOOKUPの列番号と同じ仕組みの引数でしたね。


UNIQUE と組み合わせる

前回学んだ UNIQUE と SORT は、相性のいいコンビです。

=SORT(UNIQUE(A2:A10))
=UNIQUE(SORT(A2:A10))

どっちでもOKです。「重複を除いて、さらに並び替えた一覧」が、関数2つで完成します。

データの整理が必要なときに、本当によく使う組み合わせです。「UNIQUE で抜き出して、SORT で並べる」── 覚えておくと、いろいろな場面で役立ちます。


まとめ

  • SORT関数で、範囲を並び替えた結果 を別の場所に表示
  • 構文:=SORT(配列, 並び替えインデックス, 並び替えの順序,並び替え基準)
  • 順序は 1=昇順(デフォルト) / -1=降順
  • 元のデータはそのまま、参照側だけが並び替えられる
  • 表全体を、特定の列を基準に並び替えることもできる
  • UNIQUE と組み合わせる と、データ整形の定番コンボに

第4引数「並び替え基準」は使いませんでしたが、利用頻度は少ないので無視でOKです。

次回は FILTER関数。条件で絞り込むスピル関数です。これも単体で便利ですし、UNIQUE / SORT と組み合わせるとさらに強力になります。


ショートカット

※このレッスンに対応するショートカットはありません。

次のLessonへ Lesson 059 FILTER関数について