Excel。列を並べ替えた別表を、手早く作るにはどうしたらいい
<SORTBY+XMATCH関数>
得点表があります。
A1:G7の表は、
「英語・国語・数学・理科・社会」という順番になっています。
これを、「数学・理科・英語・国語・社会」という順番で並べ替えをしたい。
自力で、コピペを繰り返して列を並べ替えるのは、とても面倒です。
何か、効率の良い方法で、手早くつくることはできないものでしょうか。
そこで、SORTBY関数とXMATCH関数を組み合わせることで、列を並べ替えた別表をつくることができます。
I2をクリックします。
次の数式を設定します。
=SORTBY(A2:G7,XMATCH(A1:G1,I1:O1))
数式を確定して、並び順を確認してみると、きちんと列方法で並べ替えされていることが確認できます。
この数式をつかうには、事前に、並べ替えをしたい順の見出しを用意する必要があります。
さて、この数式を確認しておきましょう。
SORTBY関数は、並べ替えを行う関数です。
最初の引数は、「配列」。
範囲なので、A2:G7
SORTBY関数は、スピル機能対応の関数なので、絶対参照は不要です。
次の引数は、基準1。
並べ替えをおこなうルールのことです。
ここにXMATCH関数をつかいます。
そのXMATCH関数は、MATCH関数の上位版の関数です。
MATCH関数と同じで、指定したデータが何番目にあるかを求めることができます。
XMATCH関数の最初の引数は、検索値です。
検索値は、A1:G1。
次の引数は、検索範囲で、I1:O1
XMATCH関数の結果は、
{1,2,5,6,3,4,7}
この順番で列を並べ替えることができたというわけです。