
Obecný vzorec
=SORTBY(rng,MATCH(rng,custom,0))
souhrn
Chcete-li seřadit seznam podle vlastního pořadí, můžete kombinovat funkci SORTBY s funkcí MATCH. V zobrazeném příkladu je tabulka tříděna podle sloupce „skupina“ v pořadí zobrazeném v buňkách J5: J7. Vzorec v D5 je:
=SORTBY(B5:D14,MATCH(D5:D14,custom,0))
kde „custom“ je pojmenovaný rozsah J5: J7, který definuje požadované pořadí řazení.
Vysvětlení
V tomto příkladu řadíme tabulku s 10 řádky a 3 sloupci. V rozsahu J5: J7 (pojmenovaný rozsah „vlastní“) jsou barvy „červená“, „modrá“ a „zelená“ uvedeny v požadovaném pořadí řazení. Cílem je seřadit tabulku pomocí hodnot ve sloupci Skupina ve stejném vlastním pořadí.
Funkce SORTBY umožňuje třídění na základě jednoho nebo více polí „setřídit podle“, pokud jsou rozměry kompatibilní se zdrojovými daty. V tomto případě nemůžeme použít pojmenovaný rozsah „vlastní“ přímo v SORTBY, protože obsahuje pouze 3 řádky, zatímco tabulka obsahuje 10 řádků.
Chcete-li však vytvořit pole s 10 řádky, které lze použít jako pole „seřadit podle“, můžeme použít funkci MATCH takto:
MATCH(D5:D14,custom,0)
Všimněte si, že předáváme hodnoty skupiny v D5: D14 jako vyhledávací hodnoty a jako vyhledávací tabulku používáme „vlastní“. Výsledkem je pole jako toto:
(2;1;3;3;2;3;1;2;3;1)
Každá hodnota v poli představuje číselnou pozici dané skupinové hodnoty ve „vlastní“, takže je zde znázorněno 10 řádků. Toto pole je předáno do funkce SORTBY jako argument by_array1. SORTBY seřadí tabulku v pořadí „červená“, „modrá“, „zelená“ a vrátí výsledek jako rozsah úniku počínaje buňkou D5.