1

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

    Row 1: [Train Origin] 
    Row 2: [Train Destination] 
    Row 3: [Train Code]

Элементы организованы в столбцы.

Мне нужно отсортировать эту информацию по парам, например, по одному пункту назначения и одному источнику, например: первые поезда, которые будут перечислены, будут идти от пункта назначения A к пункту B, затем из пункта B в пункт A, а затем из пункта C в пункт D и D на C и т.д. Тогда я бы сортировал по поездам коды по алфавиту. Как это можно сделать с помощью встроенной функции или, возможно, VBA? Я пытался использовать встроенную функцию сортировки, но безуспешно.

Вот скриншот того, как Excel в настоящее время сортирует это:

И как бы мне этого хотелось:

Заранее спасибо.

1 ответ1

0

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

Порядок верхнего уровня - это пара Источник Origin/Destination или Destination/Origin . Один из способов построения префикса идентификатора группы состоит в том, чтобы присоединить пару, поместив сначала лексикографически меньший единицу и используя разделитель, который не используется в таблице, например: у Paris/SPI и SPI/Paris будет префикс Paris@SPI , Чтобы создать ключ, объедините этот префикс со всеми тремя полями, используя разделитель.

Например, если предположить, что таблица имеет A1:Z3 , введите

=if(A1<A2,A1&"@"&A2,A2&"@"&A1)&"@"&A1&"@"&A2&"@"&A3

в A4 скопируйте / перетащите эту формулу в конец строки таблицы

и затем используйте эту строку для сортировки данных таблицы:

Сортированный стол:

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