У меня есть электронная таблица, в которой есть столбец с указанием почтового индекса, а другой - с идентификатором, который им присвоен.

Я хотел бы отсортировать этот лист по столбцу ID, но также сгруппировать всех людей с одинаковым почтовым индексом.

Список приоритетов, какая строка должна отображаться следующим, будет следующим.

  • Следующий младший идентификатор с тем же почтовым индексом, что и предыдущая запись.
  • Следующий самый низкий идентификатор

В качестве алгоритмической реализации это было бы довольно просто, но я не могу понять, как это сделать с помощью параметров Excel.

То, что я попробовал и потерпел неудачу, - это сначала сортировка по почтовому индексу, а затем по идентификатору, но это только объединяет почтовые индексы и сортирует идентификаторы для каждого почтового индекса. Это не делает первый идентификатор сверху, а первый почтовый индекс.

Я также пытался создать группы для каждого почтового индекса, но если я сортирую по идентификатору, группы не остаются вместе.

Некоторые примеры данных будут:

ID        ZIP

TR-002    7586 KO
TR-004    7896 KL
TR-007    7586 KO
TR-012    7493 KP
TR-088    6868 KK
TR-101    7493 KP

Который я хочу отсортировать как:

ID        ZIP

TR-002    7586 KO
TR-007    7586 KO
TR-004    7896 KL
TR-012    7493 KP
TR-101    7493 KP
TR-088    6868 KK

1 ответ1

0

Я нашел решение сам.

Сначала отсортируйте по идентификатору, затем я добавил новый столбец со следующей формулой:

=INDEX($B$1:$B$278,MIN(IF($I$2:$I$278=$I4,ROW($I$2:$I$278))))

Замените границы по мере необходимости.

Как это работает, так это то, что он берет список всех строк с одинаковым почтовым индексом (оператор IF), а затем берет наименьшую из них (ту, которая имеет наименьший идентификатор). Это сопоставляет каждый идентификатор с самым низким идентификатором с тем же почтовым индексом.

Затем я сортирую по этому новому столбцу, а затем по столбцу идентификатора, и данные располагаются в нужном мне порядке.

Причина, по которой я беру значение ROW, а затем использую INDEX для его преобразования, заключается в том, что мой идентификатор может содержать не числовые символы, а функция MIN с ними не работает.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .