Формула Excel: Сортування тексту за довжиною -

Загальна формула

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

Резюме

Для сортування текстових рядків за довжиною у порядку зростання або зменшення можна скористатися формулою на основі функцій SORTBY та LEN. У наведеному прикладі формула в D5 має вигляд:

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

який сортує текстові значення у стовпці B за довжиною рядка в порядку зменшення.

Пояснення

Функція SORTBY може сортувати значення в діапазоні за допомогою масиву, який не існує на аркуші.

У цьому прикладі ми хочемо відсортувати значення в B5: B15 за кількістю символів, що містяться в кожному рядку. Працюючи зсередини, ми використовуємо функцію LEN, щоб отримати довжину кожного значення:

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

Оскільки ми надаємо LEN масив з 11 значеннями, ми отримуємо масив з 11 довжинами:

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

Кожне число представляє довжину символу значення в B5: B11.

Цей масив повертається безпосередньо до функції SORTBY як аргумент by_array1:

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

Функція SORTBY дозволяє сортувати на основі одного або декількох масивів "сортувати за", якщо розміри сумісні з вихідними даними. У цьому випадку у вихідних даних є 11 рядків та 11 рядків у масиві, що повертається LEN, тому вимога виконана.

Функція SORTBY використовує масив довжин, повернутий LEN, для сортування значень у B5: B15 і повертає відсортовані результати до D5 у динамічному масиві. Оскільки порядок сортування встановлений на -1, значення сортуються у зворотному (спадному) порядку за довжиною. Використовуйте додатне 1, щоб сортувати за зростанням.

Цікаві статті...