Windows 11 & Office 2021 Excel 2021

SORT関数とSORTBY関数を使い分けて別表に並べ替えた結果を表示する

投稿日:2022年11月20日 更新日:

SORT(ソート)関数とSORTBY(ソートバイ)関数を使用すると、表内のキーを基準に別表に並べ替えた結果を表示できます。

データが変更される度に並べ替えの操作をしなくても常に並べ替えられた状態になります。

UNIQUE(ユニーク)関数やFILTER(フィルター)関数と組み合わせて並べ替えることもできます。

SORT関数とSORTBY関数は、Microsoft 365のExcelとExcel2021で使用できます。

SORT関数とUNIQUE関数の組み合わせ

SORT関数を使用して指定した列を基準に並べ替え

以下のような表があります。

受講者一覧表

この表をSORT関数を使用して並べ替えます。クラスの昇順に並べ替えたいと思います。

まず、セル[A2]からセル[E2]の項目名コピーして、セル[G2]へ貼り付けしておきます。

見出しのみをコピーして貼り付け

セル[G3]をアクティブにします。

数式バーに[=so]まで入力すると、以下のように関数の候補が表示されます。

数式バーの関数候補一覧[SORT]

[SORT]が選択されていることを確認して、キーボードから[Tab]キーを押すか、ダブルクリックします。

すると、数式バーには、[=SORT(]までが入力されます。

数式バーにSORT関数を入力

この時にキーボードから[Ctrl]+[A]、または[Shift]+[F3]を押すと、SORTの[関数の引数]ダイアログボックスが表示されます。

キーボード[Shift]+[F3]

SORT関数は、範囲または配列を並べ替えます。

[関数の引数]ダイアログボックス

[配列]の[ダイアログボックス拡大/縮小]ボタンをクリックして、セル[A3]からセル[E12]までをドラッグして指定します。

[関数の引数]ダイアログボックスで[配列]を指定

[並べ替えインデックス]には、[クラス]の列は範囲内で左から2番目なので[2]と入力します。

ボックス内にカーソルがある時に、その引数の説明が表示されます。分からなくなったら、ここを参照してください。

[並べ替え順序]と[並べ替え基準]は省略可能なので、空白のまま[OK]ボタンをクリックします。

[関数の引数]ダイアログボックスの[並べ替えインデックス]に[2]を入力

クラスの昇順に並び替えられた表が作成されます。

SORT関数はスピル対応の関数なので、先頭の1つのセルへ入力するだけでOKです。

=SORT(A3:E12,2)

クラスの昇順に並べ替えられた表

参考数式を編集する場合は、必ず数式を設定したセルで行います。数式バーに薄く表示されているのは、スピルのゴーストです。ゴーストのセルでは、数式を編集したり削除はできません。

SORT関数の構文

[配列]には、抽出したいデータ範囲を指定します。この時、表の項目名は含みません。

[並べ替えインデックス]には、並べ替えの基準となる列が表の左側から何番目になるかを指定します。省略すると、配列の1番目が指定されます。

[並べ替え順序]には、昇順か降順を指定します。昇順の場合は[1]、降順の場合は[-1]を指定します。既定は昇順[1]で省略できます。

[並べ替え基準]には、行を並べ替える場合は[FALSE]、列を並べ替える場合は[TRUE]を指定します。既定は[FALSE]で省略できます。

参考Microsoftの記事をリンクしておきます。

SORT 関数 - Microsoft サポート(Microsoft)

文字列は文字コード順の並べ替え

[氏名 ]の列を[並び替えインデックス]に指定して並べ替えてみます。

セル[G3]の数式で[並べ替えインデックス]を[3]に変更します。

=SORT(A3:E12,3)

ふりがな順にはなりません。SORT関数では、日本語は、文字コード順になります。

SORT関数で氏名の昇順で並べ替え

[ふりがな]の列を[並べ替えインデックス]に指定すると、ふりがな順になります。

SORT関数でふりがな順に並べ替えられた表

SORT関数を使用してふりがなの順に並べ替えたい場合は、ふりがなの列を作成します。

参考Excelでは、PHONETIC(フォネティック)関数を使って、ふりがなを表示することができます。

ふりがなが表示されない・別のセルに表示したい(PHONETIC関数とマクロ)

Excelには、ふりがなを表示できる便利な機能があります。 そして、PHONETIC(フォネティック)関数を使って、ふりがなを別のセルに表示 ...

続きを見る

[データ]タブの並べ替えコマンド

[データ]タブの[昇順]ボタンを使用すると、ふりがな順に並びます。

以下は、C列の[氏名]の列を昇順にしています。

[データ]タブの[昇順]ボタンを使用して並べ替えた表

[データ]タブの並べ替えコマンドは、既定で[ふりがなを使用する]がオンになっているため、ふりがな順に並びます。

ただし、[氏名]の列にふりがな情報がある場合です。

[並べ替えオプション]ダイアログボックスで[ふりがなを使わない]を使用すると、[文字コード順](SORT関数での並び)になります。

[並べ替えオプション]ダイアログボックスの設定

参考[並べ替え]ダイアログボックスの使い方については、以下の記事で解説しています。

[並べ替え]の[レベルの追加]で複数の基準でデータを並べ替え

Excelのデータでセルに塗りつぶしを設定して色分けした表を作成している場合、セルの塗りつぶしの色で並べ替えることができます。 [並べ替え] ...

続きを見る

セルの色で並べ替え(条件を追加して複数キーによる並べ替えもできる)

Excel2007からセルの塗りつぶしの色で並べ替えや絞り込みができるようになりました。 ここでは、Excel2010でセルの塗りつぶしの色 ...

続きを見る

SORTBY関数を使用して基準の列を複数指定して並べ替え

SORTBY関数を使用すると、並べ替えの基準を複数指定できます。

例えば、クラスの昇順年齢の降順に並べ替えたいとします。

セル[G3]をアクティブにして、数式バーに[=so]と入力すると、入力候補に[SORTBY]が表示されますので選択して[Tab]キーを押すか、ダブルクリックします。

数式バーの関数候補で[SORTBY]を選択

数式バーに[=SORTBY(]まで入力された時に、キーボードから[Ctrl]+[A]、または[Shift]+[F3]を押すとSORTBYの[関数の引数]ダイアログボックスが表示されます。

SORTBY関数は、範囲または配列を対応する範囲または配列の値に基づいて並べ替えます。

[配列]の[ダイアログボックス拡大/縮小]ボタンをクリックして、セル[A3]からセル[E12]までをドラッグして指定します。

SORTBYの[関数の引数]ダイアログボックスで[配列]を指定

[基準配列1]の数式ボックスにカーソルを置くと、[並べ替え順序1]が表示されます。

[基準配列1]には、[クラス]列の範囲、セル[B3]からセル[B12]を指定します。数値では指定できません。

[並べ替え順序1]には[1]と入力します。[1]が既定なので省略しても構いません。

[基準配列2]には、[年齢]列の範囲、セル[E3]からセル[E12]を指定します。

[並べ替え順序2]には[-1]と入力します。

[OK]ボタンをクリックします。

SORTBY関数の引数[基準配列]と[並べ替え順序]を指定

セル[G3]の数式は、以下のようになります。先頭のセルに入力するだけでスピルされます。

=SORTBY(A3:E12,B3:B12,1,E3:E12,-1)

SORT関数で並べ替えた表と数式バーの数式

SORTBY関数の構文

[配列]には、抽出したいデータ範囲を指定します。この時、表の項目名は含みません。

[基準配列]には、並べ替えの基準となるセル範囲や配列を指定します。

[並べ替え順序]には、昇順か降順を指定します。昇順の場合は[1]、降順の場合は[-1]を指定します。既定は昇順[1]で省略できます。

SORTBY関数も日本語の並べ替えは、文字コード順になります。

SORTBY 関数 - Microsoft サポート(Microsoft)

参考1つの列を並べ替えたい場合は、SORT関数が便利です。複数の列を基準にする場合は、SORTBY関数のほうが便利です。

もし、SORT関数のみで複数列を並べ替えたい場合は、以下のような数式になります。優先順位が高いほうを外側にします。

=SORT(SORT(A3:E12,5,-1),2)

見出しの並び順に列を並べ替える

列を並べ替えたい順に列見出しとなる項目名を入力しておいて、その並びを基準に並べ替えることもできます。

セル[G3]に以下の数式を入力します。

=SORTBY(A3:E12,MATCH(A2:E2,G2:K2,0))

SORTBY関数とNATCH関数で並べ替えた表

MATCH関数の[検査値]にセル[A2]からセル[E2]を指定して、[検索範囲]にセル[G2]からセル[K2]を指定します。

[照合の種類]は、完全一致の[0]を指定します。

MATCH関数の引数ダイアログボックス

MATCH 関数 - Microsoft サポート(Microsoft)

SORTBY関数をネストにして行と列を並べ替える

SORTBY関数をネストにして、行と列の両方を並べ替えることもできます。

以下は、クラスの昇順で行を並べ替え、列は見出し順に並べ替えています。

=SORTBY(SORTBY(A3:E12,B3:B12,1),MATCH(A2:E2,G2:K2,0))

SORTBY関数をネストにして、行と列の両方を並べ替えた表

UNIQUE関数やFILTER関数と組み合わせて使用する

SORT関数は、単独で使用する機会は少ないかもしれませんが、UNIQUE関数やFILTER関数と一緒に使用すると便利です。

UNIQUE関数]も[FILTER関数]もMicrosoft 365のExcelとExcel2021でしか使用できませんが、使用できる環境の場合は積極的に使ってみてください。

UNIQUE関数

重複のないリストを抽出して、昇順に並べ替えています。

=SORT(UNIQUE(A2:A14))

SORT関数とUNIQUE関数を使った表

参考UNIQUE関数は、以下の記事で解説しています。

UNIQUE関数で重複しない値をリスト化して表内の該当セルを塗りつぶす

Excel2021とMicrosoft 365のExcelでは、UNIQUE(ユニーク)関数を使用することができます。 UNIQUE関数を使 ...

続きを見る

FILTER関数

以下は、クラスAのデータを抽出して、年齢の降順に並べ替えています。

=SORT(FILTER(A3:D12,B3:B12=F3),4,-1)

FILTER関数とSORT関数を使用した表

参考FILTER関数は、以下の記事で解説しています。

条件に一致するデータを抽出できるFILTER(フィルター)関数

FILTER関数を使用して条件に合うデータを抽出することができます。 数式は先頭のセルに入力すると、スピル機能によって自動で数式が入力されま ...

続きを見る

検索

ほかの記事も検索してみませんか?

Access / Excel / PowerPoint / Word

関連記事30件

moneytizerPCのみ

Profile

執筆者/はま

-Windows 11 & Office 2021 Excel 2021

Copyright © 2001-2024 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2024 AllRights Reserved Powered by AFFINGER4.