5/08/2025

Excel。関数で指定したランクS・A・B順で並べ替えしたい【SORT】

Excel。関数で指定したランクS・A・B順で並べ替えしたい

<XLOOKUP関数>

指定した順番で並べ替えを行いたい場合には、ユーザー設定リストに登録するといいのですが、今回は、ユーザー設定リストはそのままにしたい場合、どのようにしたらいいのでしょうか。


次の表を用意しました。

関数で指定したランクS・A・B順で並べ替えしたい

C列のチームがSABとわけてあります。

これをSABの順番で並べ替えをしたいわけです。


当然、昇順にしたら、ABSという順番になってしまうので、指定した順番で並べ替えをしたいわけです。


まずは、SABという順番にしたいので、Sが1Aが2。Bが3というように割り振ります。


SABと3つならば、IF関数やIFS関数。

あるいはSWITCH関数など色々な方法があります。


ただ、振り分けの種類が10とか20とか多い場合のことも考慮して、今回はXLOOKUP関数をつかってみることにしました。


VLOOKUP関数でもいいのですが、別表の作り方が面倒なので、XLOOKUP関数を採用しました。


F1:G4に表引き元の表を用意しました。


D2には、

=XLOOKUP(C2:C11,G2:G4,F2:F4,"",0,1)

という数式を設定します。


スピル機能によって、オートフィルで数式をコピーする必要はありません。


XLOOKUP関数を確認しておきます。


1番目の引数は、検索値。

C2:C11のチームを選択します。

スピル機能をつかいたいので、セルではなく、フィールドで選択します。


2番目の引数は、検索範囲。

G2:G4の表引き用のチームを選択します。

スピル機能をつかうので、絶対参照は不要です。


3番目の引数は、戻り範囲。

F2:F4を選択します。

この値をつかって、後ほど、並べ替えをおこないます。


4番目の引数は、見つからなかった場合。

見つからなかった場合は「””(ダブルコーテーション×2)」で空白にします。


5番目の引数は、一致モード。

完全一致なので、「0」と設定します。


6番目の引数は、検索モード。

データ量が少ないので、「1」の先頭からでかまいません。


これで、チームごとの数値を割り振ることができました。


D列は、数式なので、このまま並べ替えを行うことができません。


XLOOKUP関数で求めた結果を値としてコピー貼付けをします。


D2:D11をコピーします。

そして、値で貼り付けます。


値で貼り付けたい場合は、Ctrl+Shift+Vというショートカットキーが便利です。


数式ではなくなったので、あとはデータタブの昇順ボタンをクリックして完了です。