Объединить данные в двух файлах Excel

470
Hege Jacobsen

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

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

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

Example document Groups

Example document users

У меня более 3400 строк в документе групп и 271 пользователь в списке пользователей. В документе групп пользователи будут перечислены несколько раз, так как пользователь может быть и будет членом более чем одной группы.

Есть ли способ объединить данные, которые я хочу (адрес электронной почты и имя пользователя), используя общее значение в обоих документах (имя пользователя)? И есть ли проблемы с пользователями, перечисленными несколько раз?

Soltuion

Мне удалось сделать это, установив дополнение к Excel, Ablebits Data.

https://www.ablebits.com/

Это дало мне возможность объединить документы Excel и добавить данные от одного к другому со ссылкой на те же данные.

2

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

1
visu-l

Я бы использовал полностью интегрированную функцию Get & Transform Excel, так как у вас есть Excel 2016. Для предыдущей версии вы можете использовать бесплатную надстройку MS Power Query .

Объединение данных из нескольких источников данных без знания программирования / VBA совсем не сложно. Служба поддержки MS опишет это здесь шаг за шагом.

Вам нужны эти основные шаги.

  1. Импортировать первый источникenter image description here
  2. Импортируйте второй источникenter image description here
  3. Объедините первый источник со вторым путем определения общих столбцов / полей.enter image description here

Вот M-код (вам не нужно писать его на самом деле, когда вы используете пользовательский интерфейс Get & Transform):

  • Первый источник (например, информация о пользователе)

    let Source = Excel.Workbook(File.Contents("C:\yourPath\example\Input2.xlsx"), null, true), Table13_Table = Source{[Item="Table13",Kind="Table"]}[Data], #"Changed Type" = Table.TransformColumnTypes(Table13_Table,{{"Name", type text}, {"Enabled", type logical}, {"email", type text}}) in #"Changed Type"  
  • Второй источник (например, группы AD), где первый источник объединен с

    let Source = Excel.Workbook(File.Contents("C:\Users\EDubosson\Documents\Privat\OneDrive\Öffentlich\example\Input1.xlsx"), null, true), Table1_Table = Source{[Item="Table1",Kind="Table"]}[Data], #"Changed Type" = Table.TransformColumnTypes(Table1_Table,{{"GroupName", type text}, {"Member", type text}}), #"Merged Queries" = Table.NestedJoin(#"Changed Type",{"Member"},Table13,{"Name"},"Table13",JoinKind.Inner), #"Expanded " = Table.ExpandTableColumn(#"Merged Queries", "Table13", {"Enabled", "email"}, {"Enabled", "email"}) in #"Expanded " 

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