Чи є вбудовані функції в Excel або я повинен йти з vba?


-2

Моє питання, чи є в Excel будь-яка функція, яка може вирішити мою проблему або якщо я повинен йти з програмним підходом.

У мене є лист Excel з двома колонками. Ці стовпці відображають зв'язок між елементами в рядку. Ми можемо називати це ліво-правильними відносинами. Це розповсюджується на багато рядків, але я хочу викласти його в одному рядку з багатьма стовпцями.

Якщо я отримав рядки:

123  -- 123A

123B -- 123A

123C -- 123B

Я хочу створити таблицю, яка виглядає так:

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

Той факт, що 123 не має прямого зв'язку з 123B, не має значення, просто всі вони пов'язані з 123A.

Чи є вбудовані функції, які я можу використовувати, або я повинен вирішити це з vba?


Я збентежений, ви просто хочете, щоб відповідати рядки і покласти їх в одну клітинку? Чи не стосується порядку?
Raystafarian

Не одна клітина, інша книга / аркуш або таблиця. Колона 2 містить дублікати. Тепер я хочу взяти всі записи у стовпці 1, які відповідають введенню стовпця 2, і вставити в нову таблицю як один рядок, але в окремі стовпці. Потім рекурсивно перевірте, чи існує запис з стовпця 1 у стовпці 2. Якщо він додає ці дані до нової таблиці і продовжуватимете робити це, поки не залишиться ніяких записів. Кожен унікальний запис у стовпці 2 буде містити всі записи, пов'язані один з одним, але порядок не є відповідним, тільки існує зв'язок.
Yo444

Відповіді:


0

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

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

Ця особлива проблема полягає в визначенні "класів еквівалентності" з пар елементів. Кожен рядок виводу є класом еквівалентності. Це, розділ 3 , це одна посилання, але я не можу знайти зразок коду. Я знаю, що це в Кнуті, але так все :).


Дякуємо, не шукали рішення, але визначили, чи буде це марною тратою часу, коли можна буде скористатися деякими готовими інструментами. Оскільки формат є csv файлу, я просто піду з c #. Тоді я можу просто повторити файл і підштовхнути кожен зв'язок на стек і піти звідти. Має бути в змозі зробити це швидко.
Yo444
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.