
Generisk formel
=SORTBY(rng,MATCH(rng,custom,0))
Sammanfattning
För att sortera en lista i en anpassad ordning kan du kombinera SORTBY-funktionen med MATCH-funktionen. I det visade exemplet sorteras tabellen efter kolumnen "grupp" i den ordning som visas i cellerna J5: J7. Formeln i D5 är:
=SORTBY(B5:D14,MATCH(D5:D14,custom,0))
där "anpassad" är det namngivna intervallet J5: J7 som definierar önskad sorteringsordning.
Förklaring
I det här exemplet sorterar vi en tabell med 10 rader och 3 kolumner. I intervallet J5: J7 (det namngivna intervallet "anpassad") listas färgerna "röd", "blå" och "grön" i önskad sorteringsordning. Målet är att sortera tabellen med hjälp av värden i kolumnen Grupp i samma anpassade ordning.
SORTBY-funktionen tillåter sortering baserat på en eller flera "sortera efter" matriser, så länge dimensioner är kompatibla med källdata. I det här fallet kan vi inte använda det namngivna intervallet "anpassad" direkt i SORTBY, eftersom det bara innehåller 3 rader medan tabellen innehåller 10 rader.
Men för att skapa en matris med 10 rader som kan användas som en "sortera efter" matris kan vi använda MATCH-funktionen så här:
MATCH(D5:D14,custom,0)
Observera att vi skickar in gruppvärdena i D5: D14 som uppslagsvärden och använder "anpassad" som uppslagstabell. Resultatet är en array som denna:
(2;1;3;3;2;3;1;2;3;1)
Varje värde i matrisen representerar den numeriska positionen för ett givet gruppvärde i "anpassad", så det finns 10 rader representerade. Denna matris skickas till SORTBY-funktionen som argumentet by_array1. SORTBY sorterar tabellen i "röd", "blå", "grön" ordning och returnerar resultatet som ett spillintervall som börjar i cell D5.