首页 > 解决方案 > 如何通过将表中的多行连接到另一个中的一行来合并 Excel 中的查询?

问题描述

我通过在 Excel 2015 中将 2 个查询合并为 1 个来创建指标数据。事件 ID 是连接 2 个表的主键字段,这两个表将在表 1 中重复,但在表 2 中不重复。我想以这样的方式合并查询:每个事件的第一行中的字段应与表 2 中的单行合并。

表格1:

Ref No Action Date
------------------
A1     01/01/2019      --> (Want this data in output)
A1     02/01/2019
A1     03/01/2019
A2     02/01/2019      --> (Want this data in output)
A2     03/01/2019

表 2:

Ref No Closed Date
------------------
A1     04/01/2019
A2     05/01/2019

输出:

Ref No   Action Date  Closed Date
----------------------------------
A1       01/01/2019   04/01/2019
A2       02/01/2019   05/01/2019

标签: excelexcel-formula

解决方案


我假设您的意思是 Excel 2013 或 Excel 2016。无论哪种情况,您都可以访问 PowerQuery。下面是一个示例,说明如何使用这个精细工具来解决这个问题:

  • 选择表 2 >Data选项卡 > 数据From Table/Range
  • 在 PQ > File> Close and Load To> 选择Only Create Connection>OK
  • 选择 Table1 >“数据”选项卡 >“获取数据”下拉菜单 > Combine Queries>Merge

现在在这个合并菜单中:

  • 在顶部选择 Table1,在底部选择 Table2
  • 突出显示该Ref No
  • Type Join选择Left Outer (all from first, matching from second)

虽然我的是荷兰语,但它应该类似于:

在此处输入图像描述

  • OK

现在在 PQ 编辑器中,您会注意到一个额外的列,例如Table2::

在此处输入图像描述

  • 单击标题中的双箭头
  • 取消选中Ref No
  • OK

列数据现在将Closed date适当地显示所有内容Action Date

在此处输入图像描述

Closed date仍然选择新列:

  • Start标签 >Remove Rows下拉菜单 >Remove Duplicates

输出看起来像:

在此处输入图像描述

如果您愿意,您可以选择:

  • 选择两Date列 > Transform Tab>Date下拉菜单 >Only Date
  • 双击Closed Date列标题 > 更改标题名称 > 类型Closed Date

在此处输入图像描述

现在退出 PQ 并保存您的工作:)

在此处输入图像描述


是的,这也可以通过公式来完成。


推荐阅读