Excel - 如何根据公共列合并两个表中的行?

Excel - 如何根据公共列合并两个表中的行?

我正在尝试合并两个工作表,其中只有一个列的内容匹配。

两个工作表中的“A”列具有匹配的值,但所有其他字段都不同。

工作表1:

Col"A" colb colc cold

(工作表 1 有 25,000 行)

工作表2:

Col"A" 科尔 科尔夫 科尔格

(工作表 2 有 22,000 行 - 因此缺少一些行)

新的组合工作表需要如下所示:

Col"A" colb colc cold cole colf colg(新工作表有 25,000 行)

我怎样才能做到这一点?

示例图如下: http://www.ablebits.com/office-addins-blog/2014/02/06/merge-rows-excel/#merge-matching-rows

答案1

您需要使用=vlookup()它。将更大工作表中的 A 列复制到新工作表的 A 列。然后我们=vlookup(A1, [Worksheet1.xls]tab1!$A$1:$D$25000, 2, false)创建 B 列。对剩余的列重复上述操作,vlookup根据需要更改函数中的值。

答案2

我会使用 Power Query 插件来实现这一点。它有一个合并命令,可以处理这个要求,而无需编写任何公式或任何代码。

http://office.microsoft.com/en-au/excel-help/merge-queries-HA104149757.aspx?CTT=5&origin=HA103993872

我希望现在切换还不算太晚——才过去 5 个小时,所以您可能仍在编辑 vlookup 公式......

答案3

您可以使用 Excel 文件查询:

  • 定义主表数据集的名称 - 工作表 1(公式选项卡 -> 定义名称)
  • 定义次要表数据集的名称 - Worksheet2
  • 转到“数据”选项卡,选择“来自其他来源”,然后从下拉列表中选择“来自 Microsoft Query”
  • 选择您的工作簿文件并确认您要手动合并列
  • 在以下窗口“从 Excel 文件查询”中,将第一个数据集的列“A”拖放到第二个数据集的列“A”中 - 将创建这些列之间的链接
  • 转到“文件”菜单,单击“将数据返回到 MS Office Excel”,将弹出“导入数据”对话框
  • 选择要导入匹配数据的工作表
  • 单击“确定”-> 您应该看到来自两个表的列匹配的数据

或者,如果你不介意将文件上传到在线服务,你可以使用例如http://www.gridoc.com/join-tables并使用拖放操作合并表格(免责声明:我是该工具的作者)。

希望这可以帮助。

答案4

不确定这是否是您想要的,但我会将两个工作表的全部内容复制并粘贴到一个工作表或新工作簿中,进行排序,然后使用 Excel 的删除重复项功能,检查您希望 Excel 用于删除重复项的列标签。

相关内容