„Excel“ formulė: Rūšiuoti tekstą pagal ilgį -

Bendroji formulė

=SORTBY(data,LEN(data),-1)

Santrauka

Norėdami rūšiuoti teksto eilutes pagal ilgį didėjimo ar mažėjimo tvarka, galite naudoti formulę, pagrįstą funkcijomis SORTBY ir LEN. Parodytame pavyzdyje formulė D5 yra:

=SORTBY(B5:B15,LEN(B5:B15),-1)

kuris surūšiuoja B stulpelio teksto reikšmes pagal eilutės ilgį mažėjimo tvarka.

Paaiškinimas

Funkcija SORTBY gali rūšiuoti reikšmes diapazone su masyvu, kurio darbalapyje nėra.

Šiame pavyzdyje norime rūšiuoti B5: B15 reikšmes pagal kiekvienos eilutės simbolių skaičių. Dirbdami iš vidaus, mes naudojame LEN funkciją, kad gautume kiekvienos vertės ilgį:

LEN(B5:B15) // get length of all strings

Kadangi mes suteikiame LEN masyvą su 11 reikšmių, gauname 11 ilgių masyvą:

(5;7;14;6;5;13;9;4;8;6;11)

Kiekvienas skaičius nurodo B5: B11 vertės simbolio ilgį.

Šis masyvas grąžinamas tiesiai į funkciją SORTBY kaip by_array1 argumentas:

=SORTBY(B5:B15,(5;7;14;6;5;13;9;4;8;6;11),-1)

SORTBY funkcija leidžia rūšiuoti pagal vieną ar daugiau „rūšiavimo pagal“ masyvų, jei matmenys yra suderinami su šaltinio duomenimis. Tokiu atveju šaltinio duomenyse yra 11 eilučių ir LEN grąžintoje 11 masyvo eilučių, taigi reikalavimas yra įvykdytas.

Funkcija SORTBY naudoja LEN grąžintą ilgių masyvą, kad rūšiuotų reikšmes B5: B15, o sugrupuotus rezultatus grąžina į D5 dinaminiame masyve. Kadangi rūšiavimo tvarka nustatyta į -1, reikšmės rūšiuojamos atvirkštine (mažėjančia) tvarka pagal ilgį. Jei norite rūšiuoti didėjimo tvarka, naudokite teigiamą 1.

Įdomios straipsniai...