SORTBY
関数が、特定の列を基準に柔軟な並べ替えを行えることは既にご紹介しました。しかし、この関数の真の力は、**複数の条件(キー)**を組み合わせて、より複雑な並べ替えを実現できる点にあります。
「まず役職順に並べ替え、同じ役職の中では年齢順に並べ替えたい」といった、実務で頻繁に遭遇するニーズに、SORTBY
は完璧に応えてくれます。今回は、会員名簿を例に、この複数キーによる並べ替えテクニックをマスターしましょう。
今回のゴール:ランク順、さらにランクが同じ場合は年齢順で名簿を並べ替える
以下の会員名簿があります。この名簿を、まず**C列の「ランク」が昇順(A→B→C)**になるように並べ替えます。さらに、**ランクが同じ会員同士は、D列の「年齢」が高い順(降順)**になるように並べ替えることが目標です。
サンプルデータ

以下は、上記画像のExcelデータですので、ダウンロードして練習として使用ください。
Excel-g736-1.xlsx (ダウンロード)
以下のサンプルデータをExcelシートにコピーして、操作の準備をしてください。
A | B | C | D | |
1 | No | 会員名 | ランク | 年齢 |
2 | 1 | 成沢 卓也 | A | 45 |
3 | 2 | 日比野 健 | B | 29 |
4 | 3 | 大崎 由香 | C | 53 |
5 | 4 | 水戸 夏美 | B | 38 |
6 | 5 | 木下 直樹 | A | 24 |
7 | 6 | 村山 美代 | B | 40 |
8 | 7 | 野田 亨 | C | 33 |
解決策:SORTBY関数で複数の基準を指定する
並べ替えた表を表示したい先頭のセル(例では F2
)に、以下の数式を一度だけ入力します。
Excel
=SORTBY(A2:D8, C2:C8, 1, D2:D8, -1)
数式を入力してEnterキーを押すと、指定した2つの条件に従って完璧に並べ替えられた表が、自動的に展開(スピル)されます。
数式の解説
SORTBY
関数で複数のキーを指定する場合、「基準配列」と「順序」のペアを後ろに追加していきます。
SORTBY(配列,基準配列1,順序1,[基準配列2],[順序2],…)
- 配列 (array):
A2:D8
- 並べ替えて表示したい、元のデータ範囲全体です。
- 基準配列1 (by_array1):
C2:C8
- 最優先される並べ替えキーとなるセル範囲を指定します。今回は「ランク」列(
C2:C8
)です。
- 最優先される並べ替えキーとなるセル範囲を指定します。今回は「ランク」列(
- 順序1 (sort_order1):
1
- 基準配列1の並べ替え順序です。「
1
」は昇順を意味します。これで、まずランクがA→B→Cの順に並びます。
- 基準配列1の並べ替え順序です。「
- 基準配列2 (by_array2):
D2:D8
- 2番目に優先される並べ替えキーとなるセル範囲です。今回は「年齢」列(
D2:D8
)を指定します。このキーは、基準1で並べ替えた結果、値が同じだったグループ(例:ランクがAのグループ)の中で適用されます。
- 2番目に優先される並べ替えキーとなるセル範囲です。今回は「年齢」列(
- 順序2 (sort_order2):
-1
- 基準配列2の並べ替え順序です。「
-1
」は降順を意味します。これにより、同じランクの中では年齢が高い順に並びます。
- 基準配列2の並べ替え順序です。「
この数式は、「A2:D8
の範囲を、最優先でランク(C列)を昇順に並べ替え、次に同じランク内では年齢(D列)を降順に並べ替えてください」という、高度な命令を一度に実行しているのです。
まとめ
SORTBY
関数は、基準となる配列と順序のペアを必要なだけ追加できるため、3つ、4つとさらに複雑な条件での並べ替えも可能です。
- 優先順位が明確: 最初に指定した基準から順に並べ替えが適用される。
- 柔軟な順序設定: 各基準ごとに昇順・降順を自由に設定できる。
- 数式の可読性: どの列を基準にしているかがセル範囲で指定されるため、後から見返しても理解しやすい。
複数の条件が絡み合う複雑なデータでも、SORTBY
関数を使いこなせば、瞬時に意図した通りの順序に並べ替えることができます。この強力な武器を手に入れて、データ分析とレポート作成の質を一段と高めましょう。
コメント