
Generisk formel
=SORTBY(rng,MATCH(rng,custom,0))
Resumé
For at sortere en liste i en brugerdefineret rækkefølge kan du kombinere SORTBY-funktionen med MATCH-funktionen. I det viste eksempel sorteres tabellen efter kolonnen "gruppe" i den rækkefølge, der vises i celler J5: J7. Formlen i D5 er:
=SORTBY(B5:D14,MATCH(D5:D14,custom,0))
hvor "brugerdefineret" er det navngivne område J5: J7, der definerer ønsket sorteringsrækkefølge.
Forklaring
I dette eksempel sorterer vi en tabel med 10 rækker og 3 kolonner. I området J5: J7 (det navngivne område "brugerdefineret") vises farverne "rød", "blå" og "grøn" i den ønskede sorteringsrækkefølge. Målet er at sortere tabellen ved hjælp af værdier i kolonnen Gruppe i samme brugerdefinerede rækkefølge.
SORTBY-funktionen tillader sortering baseret på en eller flere "sorter efter" arrays, så længe dimensioner er kompatible med kildedataene. I dette tilfælde kan vi ikke bruge det navngivne område "brugerdefineret" direkte i SORTBY, fordi det kun indeholder 3 rækker, mens tabellen indeholder 10 rækker.
For at oprette en matrix med 10 rækker, der kan bruges som en "sorter efter" matrix, kan vi dog bruge MATCH-funktionen som denne:
MATCH(D5:D14,custom,0)
Bemærk, at vi sender gruppeværdierne i D5: D14 som opslagsværdier og bruger "brugerdefineret" som opslagstabel. Resultatet er en matrix som denne:
(2;1;3;3;2;3;1;2;3;1)
Hver værdi i matrixen repræsenterer den numeriske position for den givne gruppeværdi i "brugerdefineret", så der er 10 rækker repræsenteret. Denne matrix overføres til SORTBY-funktionen som argumentet by_array1. SORTBY sorterer tabellen i "rød", "blå", "grøn" rækkefølge og returnerer resultatet som et spildområde, der starter i celle D5.