
Yleinen kaava
=SORTBY(data,LEN(data),-1)
Yhteenveto
Voit lajitella tekstimerkkijonot pituuden mukaan nousevassa tai laskevassa järjestyksessä käyttämällä kaavaa, joka perustuu SORTBY- ja LEN-funktioihin. Esitetyssä esimerkissä kaava kohdassa D5 on:
=SORTBY(B5:B15,LEN(B5:B15),-1)
joka lajittelee sarakkeen B tekstiarvot merkkijonon mukaan laskevassa järjestyksessä.
Selitys
SORTBY-toiminto voi lajitella arvot alueelle taulukon kanssa, jota ei ole taulukossa.
Tässä esimerkissä haluamme lajitella B5: B15: n arvot merkkijonojen määrän mukaan. Työskentelemällä sisältä ulospäin, käytämme LEN-toimintoa saadaksesi kunkin arvon pituuden:
LEN(B5:B15) // get length of all strings
Koska annamme LEN-ryhmälle 11 arvoa, saamme 11 pituisen taulukon:
(5;7;14;6;5;13;9;4;8;6;11)
Jokainen numero edustaa arvon B5: B11 arvon merkin pituutta.
Tämä taulukko palautetaan suoraan SORTBY-funktioon by_array1-argumenttina:
=SORTBY(B5:B15,(5;7;14;6;5;13;9;4;8;6;11),-1)
SORTBY-toiminto sallii lajittelun yhden tai useamman "lajitteluperuste" -ryhmän perusteella, kunhan mitat ovat yhteensopivia lähdetietojen kanssa. Tässä tapauksessa lähdetiedoissa on 11 riviä ja LEN: n palauttamassa taulukossa 11 riviä, joten vaatimus täyttyy.
SORTBY-funktio käyttää LEN: n palauttamaa pituuksien taulukkoa lajittelemaan arvot kohdassa B5: B15 ja palauttaa lajitellut tulokset D5: een dynaamisessa taulukossa. Koska lajittelujärjestykseksi on asetettu -1, arvot lajitellaan käänteisessä (laskevassa) järjestyksessä pituuden mukaan. Käytä positiivista 1 lajitellaksesi nousevassa järjestyksessä.