-2

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

У меня есть лист Excel с двумя столбцами. Эти столбцы представляют отношения между элементами в строке. Мы можем назвать это лево-правым отношением. Это разбросано по многим строкам, но я хочу выложить его в один ряд со множеством столбцов.

Если я получил строки:

123  -- 123A

123B -- 123A

123C -- 123B

Я хочу создать таблицу, которая выглядит следующим образом:

123A -- 123 -- 123B --123C

Тот факт, что 123 не имеет прямого с 123B, не имеет значения, просто они все связаны с 123A.

Есть ли какие-то встроенные функции, которые я могу использовать, или я должен решить это с помощью VBA?

1 ответ1

0

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

В подобных ситуациях я использовал функции VBA для хранения объектов пользовательских классов в коллекциях. Пользовательский класс может содержать номер строки и текст элемента.

Эта конкретная проблема связана с определением "классов эквивалентности" из пар предметов. Каждая строка выходных данных является классом эквивалентности. Это, раздел 3, одна ссылка, но я не могу найти пример кода от руки. Я знаю, что это в Кнуте, но так же и все :).

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