2

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

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

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

Пример документа Группы

Пример документа пользователя

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

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

Soltuion

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

https://www.ablebits.com/

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

1 ответ1

1

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

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

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

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

Вот 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 {0}" = Table.ExpandTableColumn(#"Merged Queries", "Table13", {"Enabled", "email"}, {"Enabled", "email"})
    in
        #"Expanded {0}"
    

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