
Üldine valem
=SORTBY(data,LEN(data),-1)
Kokkuvõte
Tekstistringide sortimiseks pikkuse järgi kasvavas või kahanevas järjekorras võite kasutada funktsioone SORTBY ja LEN põhinevat valemit. Näidatud näites on valem D5-s:
=SORTBY(B5:B15,LEN(B5:B15),-1)
mis sorteerib veeru B tekstiväärtused stringi pikkuse järgi kahanevas järjekorras.
Selgitus
Funktsioon SORTBY saab vahemikus väärtusi sortida massiiviga, mida töölehel pole.
Selles näites soovime sortida B5: B15 väärtused iga stringi sisaldavate märkide arvu järgi. Seestpoolt töötades kasutame iga väärtuse pikkuse saamiseks funktsiooni LEN:
LEN(B5:B15) // get length of all strings
Kuna anname LEN-ile 11 väärtusega massiivi, saame 11 pikkusega massiivi:
(5;7;14;6;5;13;9;4;8;6;11)
Iga number tähistab väärtuse B5 tähemärgi pikkust: B11.
See massiiv tagastatakse otse funktsioonile SORTBY by_array1 argumendina:
=SORTBY(B5:B15,(5;7;14;6;5;13;9;4;8;6;11),-1)
Funktsioon SORTBY võimaldab sortimist ühe või mitme massi järgi "sort by" alusel, kui mõõtmed ühilduvad lähteandmetega. Sellisel juhul on lähteandmetes 11 rida ja LEN-i tagastatud massiivis 11 rida, seega nõue on täidetud.
Funktsioon SORTBY kasutab LEN-i poolt tagastatud pikkuste massiivi, et sortida väärtused B5: B15-s ja tagastab järjestatud tulemused D5-le dünaamilises massiivis. Kuna sortimisjärjestus on seatud väärtusele -1, sorteeritakse väärtused pikkuse järgi vastupidises (kahanevas) järjekorras. Kasutage kasvavas järjekorras sortimiseks positiivset 1.