これまでSORTBY
関数を使い、「行の並べ替え」や「列の入れ替え」を個別に行う方法を解説してきました。今回は、それらのテクニックを組み合わせ、SORTBY
関数を入れ子(ネスト)にすることで、「行と列の並べ替え」をたった一つの数式で同時に実現する、まさに神業と呼べるテクニックをご紹介します。
これをマスターすれば、どんなデータも思いのままに整形できる、真のExcelマスターへと到達できるでしょう。
今回のゴール:行をランク順で並べ替え、かつ列を入力した見出し通りに入れ替える
会員名簿の行を「ランク」の昇順(A→B→C)で並べ替えます。同時に、列の順序をF1:H1
に入力した見出し(例:「ランク」「会員名」「年齢」)の通りに入れ替えることが目標です。
サンプルデータ

以下は、上記画像のExcelデータですので、ダウンロードして練習として使用ください。
Excel-g739-1.xlsx (ダウンロード)
以下のサンプルデータをExcelシートにコピーし、F1
からH1
に表示したい順序で見出しを入力しておきましょう。
A | B | C | D | E | F | G | H | |
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(SORTBY(B2:D8, C2:C8), XMATCH(B1:D1, F1:H1))
この数式を入力すると、行はランク順に、列は指定した見出しの順に、完璧に整形された表が自動的に展開(スピル)されます。
数式の解説(内側から外側へ解き明かす)
この複雑に見える数式は、Excelが数式を処理する順序に従って、内側から外側へと読み解くのが理解のコツです。
ステップ1:内側のSORTBY
が「行を並べ替える」
まず、Excelは数式の最も内側にあるSORTBY(B2:D8, C2:C8)
を実行します。
- 役割: 行の並べ替え(ソート)を担当します。
- 動作:
B2:D8
の会員名簿を、C2:C8
(ランク列)を基準に並べ替えます。順序の指定を省略しているので、デフォルトの昇順(A→B→C)でソートされます。 - 中間結果: この時点で、Excelの内部メモリには、行だけがランク順に並べ替えられた、下のような一時的な表が生成されます。(列の順序はまだ元のまま)
会員名 | ランク | 年齢 |
成沢 卓也 | A | 45 |
木下 直樹 | A | 24 |
日比野 健 | B | 29 |
(以下続く) |
ステップ2:XMATCH
が「列の優先順位リスト」を作成する
次に、外側のSORTBY
の基準配列となるXMATCH(B1:D1, F1:H1)
が実行されます。
- 役割: 列の入れ替え順序を決定します。
- 動作: 元の見出し
B1:D1
が出力先の見出しF1:H1
の何番目にあるかを調べ、優先順位の配列{2, 1, 3}
を生成します。
ステップ3:外側のSORTBY
が「列を入れ替える」
最後に、外側のSORTBY
関数が、ステップ1とステップ2の結果を使って最終的な処理を行います。
- 役割: 列の入れ替えを担当します。
- 動作: 外側の
SORTBY
は、**ステップ1で作成された「行がソート済みの表」**を、**ステップ2で作成された「列の優先順位リスト{2, 1, 3}
」**に従って、列の順序を入れ替えます。 - 最終結果: 「行がランク順」で、かつ「列が指定した見出し順」になっている、完璧に整形された表が完成し、セルにスピルします。
まとめ
SORTBY関数を入れ子にするこのテクニックは、Excelの動的配列機能がいかに強力であるかを示す象徴的な例です。
内側のSORTBY(行を処理)→ 外側のSORTBY(列を処理)
というように、関数の処理フローを明確に分けることで、二次元の表を縦横無尽にコントロールできます。
この数式をテンプレートとして保存しておけば、どんなデータに対しても、見出しを書き換えるだけで瞬時に目的の形式のレポートを作成できるようになります。これはもはや単なる表計算ではなく、高度なデータ整形ツールと言えるでしょう。ぜひこの究極のテクニックを習得し、データ活用の可能性を最大限に広げてください。
コメント