
Generisk formel
=COUNTIF(range,"<="&A1)
Sammanfattning
För att dynamiskt sortera textvärden i alfabetisk ordning kan du använda en formel baserad på COUNTIF-funktionen. I exemplet som visas är formeln i C5:
=COUNTIF(countries,"<="&B5)
där "länder" är det namngivna området B4: B13
Förklaring
Denna formel använder operatorn "större än eller lika med" med text, något du kanske inte har provat tidigare. När Excel jämför text bestämmer det vilket värde som är "större" än andra baserade regler som följer ASCII-numreringsschemat.
Inom COUNTIF tillhandahålls områdesargumentet som det namngivna intervallet "länder" (B4: B13), och kriterierna anges som "mindre än eller lika med" värdet i C5. I varje rad returnerar COUNTIFS antalet värden som är mindre än eller lika med det aktuella värdet, vilket skapar en sekventiell lista med siffror (dvs. en rang) i hjälpkolumnen.
Listar sorterade värden
Hjälpkolonnen kan användas för att hämta sorterade värden efter rang. I E5 är formeln som används för att hämta värden:
=INDEX(countries,MATCH(ROWS($E$5:E5),helper,0))
Detta är en INDEX- och MATCH-formel som använder en expanderande referens för att generera sekventiella nummer som matas in i MATCH som uppslagsvärden. MATCH räknar ut var varje nummer finns i data och INDEX hämtar värdet på den positionen. Se den här sidan för en mer detaljerad förklaring.
Hantering av dubbletter
Om data innehåller dubbla textvärden kommer sekvensen av sorteringsnummer också att innehålla dubbletter, vilket kommer att orsaka problem om du försöker hämta värden med INDEX-funktionen. För att kringgå detta problem kan du använda en variant av formeln som ökar dubbletter med en andra COUNTIF:
=COUNTIF(countries,"<"&B5)+COUNTIF($B$5:B5,B5)
Observera att den logiska operatören i den första COUNTIF-funktionen har justerats, och intervallet i den andra COUNTIF-funktionen är en expanderande referens.