Excel (Microsoft 365):同一工作簿中两个表的内部连接

Excel (Microsoft 365):同一工作簿中两个表的内部连接

我正在使用 Excel (Microsoft 365),有两个结构相同的表,每个表都在自己的工作表中。这两个工作表位于同一工作簿中。第一个工作表及其包含的表都名为Table_A。第二个工作表及其包含的表都名为Table_B。两个表都有字段Field_AField_BField_C。在每个表中,Field_A每行都有一个唯一值(即,可以被认为是数据库用语中的主键)。

我有一个名为 的第三张工作表Join。此工作表与上面描述的前两个工作表位于同一工作簿中。在此工作表中,我想创建一个名为 的表Join,其中填充了如果我使用 SQL Server 而不是 Excel 时将使用以下 T-SQL 语句获得的数据:

SELECT Table_A.Field_A, Table_A.Field_B, Table_B.Field_B, Table_A.Field_C, Table_B.Field_C
FROM Table_A INNER JOIN Table_B
ON Table_A.Field_A = Table_B.Field_A;

我如何在 Excel 工作簿中执行此操作?请注意,由于这一切都包含在单个工作簿中,因此我希望避免将任何文件名引用作为数据源。

答案1

Power Query 就是您在此处寻找的工具。

假设这是我们的数据。为了清楚起见,我将表 2 中的列命名为 D 和 E,而不是重复 B 和 C。

表格1

表 1 中的虚拟数据

表2

表 2 中的虚拟数据

首先,右键单击表格1并选择从表/范围获取数据

从表/范围获取数据

Power Query 编辑器窗口将打开,它将显示名为表格1

Power Query 编辑器显示表 1

点击左上角的关闭并加载下的向下箭头按钮,然后选择关闭并加载至...选项。在下一个框中,选择仅创建连接然后点击好的

关闭并加载至...

仅创建连接

编辑器将关闭,右侧应出现查询和连接面板。现在我们将添加表 2,方法是右键单击并选择从表/范围获取数据

Power Query 编辑器将再次打开。左侧有一个名为“查询”的面板。右键单击表 2 下方的空间,然后选择新建查询 > 合并 > 合并查询为新查询

合并查询数据源

您现在可以根据需要配置连接 - 在本例中,选择表格1, 然后表2,点击选择列字段1A然后列字段2A最后从下拉菜单中选择加入类型内部(仅匹配的行)。 点击好的

Power Query 合并

您将看到 Power Query 中出现一个名为合并1。在右侧,您将看到 Table2 显示为一列,但列不会展开 - 您需要单击展开按钮才能展开。如果您不想,您可以选择不再显示连接字段。

展开表格列

取消选择连接字段

现在点击左上角的关闭并加载按钮,连接表将作为新工作表出现在工作簿中。只有当您单击刷新新工作表时,对表 1 和表 2 所做的更改才会级联表_合并1

最终输出

相关内容