Excel。関数で指定したランクS・A・B順で並べ替えしたい
<XLOOKUP関数>
指定した順番で並べ替えを行いたい場合には、ユーザー設定リストに登録するといいのですが、今回は、ユーザー設定リストはそのままにしたい場合、どのようにしたらいいのでしょうか。
次の表を用意しました。
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というショートカットキーが便利です。
数式ではなくなったので、あとはデータタブの昇順ボタンをクリックして完了です。