我有两个包含 AD 用户信息的 Excel 文档,我需要合并它们以收集所有信息。
其中一个文档包含有关 AD 组及其成员名称的信息。另一个文档包含有关用户的信息 - 如果启用了用户,则包含用户名、姓名和电子邮件地址。
文档中的公共值是名称。我想要在 Excel 文档中将用户名和电子邮件地址的值与组一起显示。
我在组文档中有超过 3400 行,在用户文档中列出了 271 个用户。在组文档中,用户将被列出多次,因为用户可以并且将成为多个组的成员。
有没有办法使用两个文档中的公共值(用户名)合并我想要的数据(电子邮件地址和用户名)?用户被列出多次会有什么问题吗?
解决方案
我通过在 Excel 中安装插件 Ablebits Data 来实现这一点。
它使我能够合并 Excel 文档并根据相同的数据将一个文档的数据添加到另一个文档中。
答案1
我会使用完全集成的获取并转换Excel 功能,因为你有 Excel 2016。对于以前的版本,你可以使用免费的MS Power Query 插件。
无需编程/vba 知识,即可轻松合并来自多个数据源的数据。MS 支持对此进行了描述这里一步步。
您需要这些主要步骤。
这里是 M 代码(当您使用获取和转换的用户界面时,实际上不必编写它):
第一来源(例如用户的信息)
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}"