Объединить неунифицированные данные в Excel на основе идентификатора строки?

459
Per

Мне нужно объединить различные листы данных Excel в один основной файл.

У меня есть один главный файл с адресами электронной почты и несколько файлов Excel из нашей CRM с данными в разных столбцах.

Можно ли создать какую-нибудь опорную точку, где я использую адрес электронной почты в качестве ключа и просто добавляю столбцы, которые хочу объединить? В качестве примера

Ряд 1: адрес@someaddress.com Джон
Ряд 2: адрес@someaddress.com Доу

Нужен результат

Роу: address@someaddress.com Джон Доу

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

Немного упрощено, так как у меня десятки тысяч строк.

1
Можете ли вы сделать название вопроса более понятным? Вы хотите сказать: «Как объединить неунифицированные данные в Excel на основе идентификатора строки?» KAE 5 лет назад 0
Sorry, if unclear. I have about 10 sheets, all with the same columns, but not data in alla columns. In any of the 10 sheets I can have the same emailadress (but I don't know). Also, if the same emailaddress excist in one sheet it can have data in different columns than in any of the other sheet (but never different data in the same column). I also have one destination sheet with about 11000 rows (unique emailaddresses) I wan't to keep and use as the key, to fetch data from the other sheets, when it matches. Per 5 лет назад 0
Я бы порекомендовал присоединить все файлы Excel к базе данных MS Access (или импортировать данные в любую доступную вам базу данных СУБД) и получить требуемый результат одним запросом. В качестве альтернативы вы можете сделать это с помощью макроса (VBA sub) - это может быть достаточно просто ... Akina 5 лет назад 0

1 ответ на вопрос

0
Nicholas Humphrey

Извините, я не могу комментировать, так что постить здесь.

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

Исправьте, если мое предположение неверно, потому что я вижу, что нет никакого способа "сопоставить" адреса электронной почты, если они не присутствуют в обоих файлах.

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

  1. VBA

Я напишу алгоритм здесь с псевдокодом:

For each email in master_file Dim concatedName as String For each name in CRM_dump If email_of_name = email Then String = String + name + " " End If Next name Dump concatedName into the neighboring cell Next email

  1. функция

TBH, это была бы сложная функция, потому что мы понятия не имеем, сколько совпадений. У меня есть ссылка для вас:

http://eimagine.com/how-to-return-multiple-match-values-in-excel-using-index-match-or-vlookup/

  1. Power Query

Нашел этот может быть полезным для вас:

https://stackoverflow.com/questions/32767117/pivot-in-excel-without-aggregation-to-show-text-not-numbers

Похожие вопросы