4/17/2024

Excel。複数列を基準にして、手早く並べ替えた別の表をつくりたい。【SORT】

Excel。複数列を基準にして、手早く並べ替えた別の表をつくりたい。

<SORTBY関数>

複数列をつかった条件で並べ替えをしました。

その後、別の表へコピーする場合、作業的には、難しくはありませんが、面倒です。


そこで、SORTBY関数をつかうと、手早く別の表で並べ替えた状態で表示することができます。


次の表を用意しました。

SORTBY関数

処理したいことは、A1:D7の表を、クラス順の得点は降順に並べ替えた状態で別の表を作りたいわけです。


複数列の並べ替えなので、データタブの並べ替えをつかい、その後コピーすればいいわけです。


ただ、SORTBY関数をつかうと、並べ替えの作業も、コピーも、まとめて処理してくれます。


それでは、F1に次の数式を設定します。

=SORTBY(A2:D7,C2:C7,1,D2:D7,-1)


たった、この数式だけで、対応することができます。

オートフィルで数式をコピーする必要はありません。

スピル機能により、数式がコピーされます。


SORTBY関数の最初の引数は、「配列」です。

範囲なので、見出し行を除いた、「A2:D7」を設定します。

スピル機能のため、絶対参照は不要です。


2つ目の引数は、「基準配列1」です。

これは、最初の条件の並べ替え範囲のことを指しています。

クラス順にしたいので、「C2:C7」。絶対参照は不要です。


3つ目の引数は、「並べ替え順序1」です。

これは、「1」なら昇順。

「-1」なら降順の設定をおこないます。

クラス順なので、昇順ですから「1」と設定します。


2つ目と3つ目の引数を条件数分繰り返すことで、複数列で並べ替えを設定することができます。


なお、SORT関数という並べ替えをする関数もあります。

SORT関数でも複数列での並べ替えは、可能ですが、SORT関数は、一度に複数列での並べ替えができないので、SORT+SORT関数のネストにしなければ対応することができません。