INDEX
複数の条件で並び替えを行うには?
Excelでデータを整理する際、1つの列だけでなく、複数の条件を基準に並び替えたいことがあります。たとえば、「価格が高い順に並び替え、同じ価格なら商品名のアルファベット順にする」といったケースです。
SORTBY
関数を使えば、複数の列を基準にして動的に並び替えを行うことができます。
SORTBY関数とは?
SORTBY
関数は、指定した範囲のデータを、複数の基準で昇順・降順に並び替えることができる関数です。
基本構文
=SORTBY(配列, 並び替え基準1, 並び順1, 並び替え基準2, 並び順2, ...)
2つの条件で並び替えを行う方法
例えば、以下のような商品リストがあるとします。
元のデータ
A | B | C | |
---|---|---|---|
1 | 商品名 | カテゴリ | 価格 |
2 | りんご | 果物 | 250 |
3 | バナナ | 果物 | 150 |
4 | にんじん | 野菜 | 300 |
5 | キャベツ | 野菜 | 300 |
並び替えの適用
D | E | F | |
---|---|---|---|
1 | 商品名 | カテゴリ | 価格 |
2 | =SORTBY(A2:A5, C2:C5, -1, B2:B5, 1) | =SORTBY(B2:B5, C2:C5, -1, B2:B5, 1) | =SORTBY(C2:C5, C2:C5, -1, B2:B5, 1) |
3 | |||
4 | |||
5 |
数式の解説
=SORTBY(A2:A5, C2:C5, -1, B2:B5, 1)
→ 価格を降順、カテゴリを昇順で並び替え
3つ以上の条件で並び替えを行う方法
さらに、価格(降順)、カテゴリ(昇順)、商品名(昇順)の順で並び替えたい場合は次のようにします。
数式
=SORTBY(A2:A5, C2:C5, -1, B2:B5, 1, A2:A5, 1)
並び替えの適用
D | E | F | |
---|---|---|---|
1 | 商品名 | カテゴリ | 価格 |
2 | =SORTBY(A2:A5, C2:C5, -1, B2:B5, 1, A2:A5, 1) | =SORTBY(B2:B5, C2:C5, -1, B2:B5, 1, A2:A5, 1) | =SORTBY(C2:C5, C2:C5, -1, B2:B5, 1, A2:A5, 1) |
3 | |||
4 | |||
5 |
数式の解説
=SORTBY(A2:A5, C2:C5, -1, B2:B5, 1, A2:A5, 1)
→ 価格を降順、カテゴリを昇順、商品名を昇順で並び替え
まとめ
Excelで複数の条件で並び替えを行うには、SORTBY
関数を活用すると便利です。
- 2つの基準で並び替え:
=SORTBY(A2:A5, C2:C5, -1, B2:B5, 1)
- 3つの基準で並び替え:
=SORTBY(A2:A5, C2:C5, -1, B2:B5, 1, A2:A5, 1)
使用した関数について

SORTBY関数で指定した範囲について並び替えを行う方法をわかりやすく解説
SORTBY関数についてSORTBY関数の概要指定した基準でデータを並べ替えるExcel関数=SORTBY(範囲, 基準列範囲1, 並べ替え順序1, )概要 SORTBY関数は、指定した基準列範囲と並べ替え順序に基づいて、データを並べ替えます。複数の基準を指定することが可能で、柔軟性の高い並べ替えが行えます。 複数の基...