Excelびぼー:ソート応用

ソートテクニック応用

例えば通貨名をソートしたいとする。

イメージは、言語を数値に直す。

通貨 ・・・ ソート後
EUR AUD
GBP EUR
INR GBP
AUD INR

ステップ1:COUNTIFSでランク分け

=COUNTIFS(通貨レンジ,”<=”&対象通貨)

通貨 ランク ソート後
EUR 2 AUD
GBP 3 EUR
INR 4 GBP
AUD 1 INR

EURが対象とすると、EURはEUR以下なのでカウント、GBPはEUR以下ではないので非カウント、INRは、、、って感じ?

ステップ2:ROW()で順位付け

ROW()で現在の行番号をゲット。xで補正して表の中での順位をゲット。

通貨 ランク ソート後 ROW()-x
EUR 2 AUD 1
GBP 3 EUR 2
INR 4 GBP 3
AUD 1 INR 4

ステップ3:MATCHする

MATCH(順位,ランク,0)でマッチする順番を見つける。

通貨 ランク ソート後 ROW()-x MATCH
EUR 2 AUD 1 4
GBP 3 EUR 2 1
INR 4 GBP 3 2
AUD 1 INR 4 3

ステップ4:INDEXする

INDEXして、該当番号の通貨をゲット。

序列1位は、通貨一覧の4番目なので、AUDを返すという感じ。

う~ん、むずい!

通貨 ランク ソート後 ROW()-x MATCH INDEX
EUR 2 AUD 1 4 AUD
GBP 3 EUR 2 1 EUR
INR 4 GBP 3 2 GBP
AUD 1 INR 4 3 INR