Автоматично сортувати дані в алфавітному порядку за допомогою формули

Зміст

Вбудована в Excel сортування даних дивовижна, але вона не є динамічною. Якщо ви сортуєте дані, а потім додаєте до них дані, вам доведеться сортувати їх знову.

Сортувати дані в алфавітному порядку

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

Якщо всі дані - це текст без дублікатів

Припустимо, у вас є дані, як показано нижче:

У цьому прикладі всі дані у текстовому форматі (без чисел, пробілів або дублікатів). Щоб відсортувати це, я буду використовувати допоміжний стовпець. У стовпці біля даних використовуйте таку формулу COUNTIF:

= COUNTIF ($ A $ 2: $ A $ 9, "<=" & A2)

Ця формула порівнює текстове значення з усіма іншими текстовими значеннями і повертає його відносний ранг. Наприклад, у комірці В2 вона повертає 8, оскільки є 8 текстових значень, які менші або рівні тексту «США» (в алфавітному порядку).

Тепер для сортування значень використовуйте таку комбінацію функцій INDEX, MATCH та ROWS:

= ІНДЕКС ($ A $ 2: $ A $ 9, МАТЧ (РЯДИ ($ B $ 2: B2), $ B $ 2: $ B $ 9,0))

Ця формула просто витягує імена в алфавітному порядку. У першій комірці (С2) вона шукає назву країни з найменшим числом (Австралія має 1). У другій клітинці він повертає Канаду (яка має номер 2) і так далі…

Алергія на колонки -помічники ??

Ось формула, яка буде робити те ж саме без стовпця -помічника.

= INDEX ($ A $ 2: $ A $ 9, MATCH (ROWS ($ A $ 2: A2), COUNTIF ($ A $ 2: $ A $ 9, "<=" & $ A $ 2: $ A $ 9), 0))

Це формула масиву, тому використовуйте Control + Shift + Enter замість Enter.

Я залишу це для вас, щоб декодувати код.

Спробуйте самі… Завантажте файл прикладу

Ця формула добре працює, якщо у вас є текстові або буквено -цифрові значення.

Але це зазнає невдачі, якщо:

  • У вас є дублікати даних (спробуйте двічі поставити США).
  • У даних є пробіли.
  • У вас є суміш цифр і тексту (спробуйте вставити 123 в одну з клітинок).
Коли дані - це суміш чисел, тексту, дублікатів та пробілів

Тепер це трохи хитро. Я буду використовувати 4 допоміжні стовпці, щоб показати вам, як це працює (а потім дам вам величезну формулу, яка буде робити це без допоміжних стовпців). Припустимо, у вас є дані, як показано нижче:

Ви можете побачити, що є дублюючі значення, порожні та цифри. Тому я буду використовувати допоміжні стовпці для вирішення кожної з цих проблем.

Колонка помічника 1

Введіть таку формулу COUNTIF у стовпці помічника 1

= COUNTIF ($ A $ 2: $ A $ 9, "<=" & A2)

Ця формула робить наступне:

  • Він повертає 0 для пробілів.
  • У разі дублікатів він повертає той самий номер.
  • Текст і числа обробляються паралельно, і ця формула повертає однакове число для тексту та числа (наприклад, 123 та Індія отримують по 1).

Колонка помічника 2

Введіть таку функцію IS у колонку 2 помічника:

=-ISNUMBER (A2)

Колонка помічника 3

Введіть таку формулу у стовпці помічника 3:

=-ISBLANK (A2)

Колонка помічника 4

Введіть таку формулу у стовпці помічника 4

= IF (ISNUMBER (A2), B2, IF (ISBLANK (A2), B2, B2+$ C $ 10))+$ D $ 10

Ідея цієї формули полягає в тому, щоб розділити пробіли, числа та текстові значення.

  • Якщо клітинка порожня, вона повертає значення в клітинку В2 (яка завжди буде 0) і додає значення в комірку D10. Коротко кажучи, він поверне загальну кількість порожніх клітинок у даних
  • Якщо клітинка є числовим значенням, вона поверне порівняльний ранг і додасть загальну кількість пробілів. Наприклад, для 123 він повертає 2 (1 - це ранг 123 у даних, і є 1 порожня клітинка)
  • Якщо це текст, він повертає порівняльний ранг і додає загальну кількість числових значень та пробілів. Наприклад, для Індії він додає порівняльний ранг тексту в тексті (це 1) і додає кількість порожніх клітинок та кількість числових значень.

Остаточний результат - Сортовані дані

Тепер ми будемо використовувати ці допоміжні стовпці, щоб отримати відсортований список. Ось формула:

= IFERROR (ІНДЕКС ($ A $ 2: $ A $ 9, МАТЧ , "")

Цей метод сортування тепер стає надійним. Я показав вам метод для 8 елементів, але ви можете розширити його на стільки предметів, скільки захочете.

Спробуйте самі… Завантажте файл прикладу

Одна формула для впорядкування всього (без стовпців -помічників)

Якщо ви можете обробляти екстремальні формули, ось формула "все в одному", яка буде сортувати дані в алфавітному порядку (без стовпців-помічників).

Ось формула:

= IFERROR (ІНДЕКС ($ A $ 2: $ A $ 9, МАТЧ $ A $ 9, "<=" & $ A $ 2: $ A $ 9), COUNTIF ($ A $ 2: $ A $ 9, "<=" & $ A $ 2: $ A $ 9)+SUM (-ISNUMBER ($ A $ 2: $ A $ 9))), ROWS ($ A $ 2: A2)+SUM (-ISBLANK ($ A $ 2: $ A $ 9))), НЕ ($ A $ 2: $ A $ 9 = "")*ЯКЩО (ISNUMBER ($ A $ 2: $ A $ 9), COUNTIF ($ A $ 2: $ A $ 9, "<=" & $ A $ 2: $ A $ 9), COUNTIF ($ A $ 2: $ A $ 9, "<=" & $ A $ 2: $ A $ 9)+SUM (-ISNUMBER ($ A $ 2: $ A $ 9))), 0)), "")

Введіть цю формулу в клітинку та перетягніть її вниз, щоб отримати відсортований список. Крім того, оскільки це формула масиву, використовуйте Control + Shift + Enter замість Enter.

Ця формула має реальну корисність. Що ти думаєш? Я хотів би у вас повчитися. Залиште свої сліди в розділі коментарів!

Ви допоможете розвитку сайту, поділившись сторінкою з друзями

wave wave wave wave wave