-
Home »
-
エクセル関数一覧表 »
-
Excel関数の目次 »
-
SORT関数でデータを並べ替える
更新: 2024/4/29;作成:2020/2/8
SORT関数が利用できるExcelの種類(バージョンについて)
- SORT関数はExcel for Microsoft 365(サブスクリプション型)、Excel2021(永続ライセンス版)で使える関数です。
ちなみに、Excel2016(永続ライセンス版),Excel2019(永続ライセンス版)では使用できませんので、ご注意ください。
|
Spill(スピル) |
SORT関数 |
Excel2016 |
× |
× |
Excel2019 |
× |
× |
Excel2021 |
○ |
○ |
Excel for Microsoft365 |
○ |
○ |
- SORT関数(ワークシート関数)が使用できない環境の場合は、
エクセル関数の技:関数(数式)を使ってデータを並べ替える をご覧ください。
SORTBY関数の使い方は SORTBY関数で指定した範囲(配列)を対応した範囲の値に応じて並べ替える をご覧ください。
配列を並べ替えて返します topへ
ソート
=SORT(配列,[並べ替えインデックス],[並べ替え順序],[並べ替え基準])
SORT関数の引数
- [ ] でくくられた引数は省略可能です。
配列 |
並べ替える範囲または配列 |
[並べ替えインデックス] |
並べ替えの基準となる行または列を示す数値
(既定は1) |
[並べ替え順序] |
目的の並べ替え順序を示す数値
昇順の場合は 1 (既定)
降順の場合は -1 |
[並べ替え基準] |
目的の並べ替え方向を示す論理値。
FALSE(既定値)の場合は、行で並べ替え
TRUE の場合は、列で並べ替え |
SORT関数と並べ替え機能との違い topへ
大文字と小文字の区別はされません。
- D列はSORT関数で昇順に並べ替えています。
F列は並べ替え機能で「大文字と小文字を区別する」の設定をONにして並べ替えています。
SORT関数では大文字と小文字は区別されず、先に出てきた方が上に表示されます。
並べ替えの機能では大文字と小文字は区別され、小文字の方が先に表示されます。
- 並べ替え機能の手順
[データ]タブの[並べ替え]をクリックして、[オプション]ボタンをクリックして、「大文字と小文字を区別する」にチェックを入れます。
ふりがな情報は使用されません。
- SORT関数で並べ替えるときは「ふりがな情報」は無視され、文字コード順になります。
さらに、SORT関数で並べ替えた後の文字からはふりがな情報が欠落しています。
並べ替え機能では既定で「ふりがな情報」をもとに並べ替えられます。
- SORT関数は引数の並べ替えインデックスを省略すると 1 が適用されます。
引数の並べ替え順序を省略すると、 1(昇順)が適用されます。
引数の並べ替え基準を省略すると、FALSE(既定値)が適用され、行で並べ替えが行われます。
つまり、引数を省略すると1列目を基準に昇順にデータが並べ替えられます。
- 下図のデータをNoの昇順に並べ替えます。
|
B |
C |
D |
E |
F |
G |
H |
2 |
No |
氏名 |
国語 |
算数 |
理科 |
社会 |
合計 |
3 |
6 |
木下 |
86 |
98 |
94 |
87 |
365 |
4 |
3 |
河合 |
82 |
77 |
83 |
88 |
330 |
5 |
8 |
佐々木 |
81 |
67 |
71 |
86 |
305 |
6 |
4 |
近藤 |
72 |
78 |
74 |
73 |
297 |
7 |
7 |
植田 |
68 |
78 |
75 |
66 |
287 |
8 |
1 |
岡田 |
70 |
65 |
71 |
77 |
283 |
9 |
9 |
桑田 |
62 |
64 |
61 |
69 |
256 |
10 |
5 |
井上 |
61 |
55 |
52 |
65 |
233 |
11 |
2 |
会田 |
55 |
61 |
66 |
48 |
230 |
- B14セルの数式は =SORT(B3:H11) とします。
引数の並べ替える範囲にはタイトル行を入れません。並べ替えるデータの範囲を指定します。
下図のように、No順に並べ替えができました。
テーブルを並べ替える
- テーブルを使うと、数式は =SORT(テーブル1) となります。
1列目のNoが並べ替えのキーとなり、昇順に並べ替えられます。
- SORT関数のメリットは、元データを修正すると、瞬時にその修正が反映されます。
B4セルを 88 に修正しました。すると、並べ替え先データの順序は瞬時に変更されました。
- 下表の成績表を使って説明します。
国語の得点を得点の大きい方から順番に並べ替えます。
並べ替える範囲は B3:D11
並べ替えインデックスは国語の列は並べ替える範囲の3列目なので 3 とします。
並べ替え順序は降順にしたいので、 -1 とします。J3セルに =SORT(B3:D11,3,-1) と入力しました。
国語の得点の高い順に並べ替えられました。
テーブルを並べ替える
- データ範囲がテーブルに変換されている場合、テーブル名は テーブル1 としています。
J3セルの数式は =SORT(テーブル1[[No]:[国語]],3,-1) となります。
- 氏名の昇順に並べ替えた例です。
B15セルには =SORT(B3:H11,2) と入力しています。
並べ替えにはふりがな情報は使用されず、文字コード順に並べ替えられます。
Excelの並べ替えの機能(既定)とは異なることにご注意ください。
- 岡田さんのデータを降順に並べ替えてみます。列方向で並べ替えます。
C16セルに =SORT(C2:H3,2,-1,TRUE) と入力しました。
並べ替える範囲は C2:H3
並べ替えインデックスは並べ替える範囲の2行目を基準にするので、 2 とします。
並べ替え順序は降順にしたいので、 -1 とします。
並べ替え基準は列方向で並べ替えたいので TRUE とします。
岡田さんの得点の高い順に並べ替えられました。
(氏名は漢字なので、数値より大きくなりますので、範囲に氏名を加えてもOKな結果となっています)
- C16セルに =SORT(C3:H11,6,-1) と入力するだけでデータ表を並べ替えることができます。
配列にはタイトル行を除いたデータだけを指定します。C3:H11 としています。
並べ替えインデックスは合計の値を基準にしたいので、合計は配列の左から6列目なので 6 と指定します。
並べ替え順は降順としたいので -1 とします。
テーブルを並べ替える
- データリストをテーブルに変換した場合、テーブル名は テーブル1 としています。
C14セルの数式は =SORT(テーブル1[[氏名]:[合計]],6,-1) とします。
- 国語の得点が高い順で、同点なら算数の得点が高い順に並べ替えます。
成績表のデータは上記までと異なっていますので、ご注意ください。
まず、算数の得点が高い順に並べ替えます。
B14セルに =SORT(B3:H11,4,-1) と入力しています。
並べ替える範囲は B3:H11 とします。
並べ替えインデックスは並べ替える範囲の4列目(算数)を基準にするので、 4 とします。
並べ替え順序は降順にしたいので、 -1 とします。
- 次に、国語の得点の高い順に並べ替えます。
B25セルに =SORT(SORT(B3:H11,4,-1),3,-1) と入力します。
つまり、算数の得点に並べ替えたものをさらに、国語の得点の高い順に並べ替えます。
並べ替える範囲は SORT(B3:H11,4,-1) とします。
並べ替えインデックスは並べ替える範囲の3列目(国語の列)を基準にするので、 3 とします。
並べ替え順序は降順にしたいので、 -1 とします。
テーブルを並べ替える
- データ範囲がテーブルの場合、テーブル名は テーブル1 としています。
B14セルの数式は =SORT(SORT(テーブル1,4,-1),3,-1) となります。
- 上記のように、14セルの数式は =SORT(SORT(テーブル1,4,-1),3,-1) としたデータがあります。
- この並べ替えたデータから、Noと氏名と合計だけを取り出します。
B14セルには =FILTER(SORT(SORT(テーブル1,4,-1),3,-1),{1,1,0,0,0,0,1}) としています。
{1,1,0,0,0,0,1} として、表示する列は 1(TRUE)、表示しない列は 0(FLASE)と前列をどちらか指定しています。
- 上記では配列を使って、指定した列のデータを表示しましたが、ここではちょっと意地悪な列の順番としています。
No,名前、社会、国語の順番でデータを取り出してみます。
CHOOSECOLS関数とXMATCH関数を利用しています。
CHOOSECOLS関数はExcel for Microsoft365で使用できる関数です。
B16セルの数式は
=CHOOSECOLS(
SORT(SORT(テーブル1,4,-1),3,-1),
XMATCH(B15:E15,テーブル1[#見出し]))
としています。
スポンサードリンク
よねさんのWordとExcelの小部屋 »
エクセル関数一覧表 » SORT関数の使い方
PageViewCounter
Since2006/2/27