Excel合并匹配的ID

时间:2018-09-05 11:16:34

标签: excel merge

我一直在与excel有关匹配和合并单元格的问题。我有一个表,其中包含一些但不是全部具有某些数据的ID(表1),而我又有一个表,其中包含具有不同数据(表2)的所有ID。

我想匹配并合并这两个表,以便table1还包含表2包含的数据,并通过ID进行匹配。

我没有足够的代表来张贴图片,所以我将尝试在代码块中显示我正在努力解决的问题。

表1

F1    Gnr
x12
x25
x37
x63

表2

F1    Gnr
x1    y8
x2    y3
x3    y29
etc.  etc.

所需结果:

F1     Gnr
x12    y56
x25    y38
x37    y98
x63    y42

这是问题的简化版本,我希望它有助于说明我想做的事情。我已经尝试了VLOOKUP和Index and Match,但是由于某种原因,它将无法正常工作。

编辑:在下面,您可以找到我一直在使用的代码段:

=IFERROR(VLOOKUP(Sheet1!A$2;Sheet2!$A$1:$D$50;COLUMN(A1);FALSE);Sheet1!A2)

在这里,我相信我正在从sheet1A2中查找值,并尝试将该值与sheet2中的完整表进行匹配。我得到的结果是Sheet1!A2的值(iferror值)。

谢谢。

2 个答案:

答案 0 :(得分:1)

您可以使用Powerquery(Microsoft的Excel 2013加载项,2016年内置)

  1. 将两个表都设置为Excel表(包括标题)

enter image description here

  1. 在表之一中选择单元格>“数据”选项卡或powerquery(Excel 2013)>从表中选择

enter image description here

  1. 打开的窗口>主页>关闭并加载到>仅创建连接>

enter image description here

enter image description here

  1. 重复其他表格

  2. 然后您有两个工作簿查询(每个表一个)

enter image description here

  1. 数据(或Powerquery)标签>新建查询>合并查询>合并

enter image description here

  1. 选择表1(要更新的表),然后在表2下方,突出显示两个id列,然后左外连接类型

enter image description here

  1. 通过单击<>
  2. 扩展新表插入以显示合并的列

enter image description here

  1. 突出显示不需要的两列,然后右键单击“删除列”

enter image description here

  1. 根据需要重命名最后一列

enter image description here

  1. 然后关闭并加载到新工作表

enter image description here

  1. 观察结果

enter image description here

答案 1 :(得分:0)

您的IFERROR完全按照您的预期进行:它收到错误,并返回“备份”值(在这种情况下为Sheet1!A$2)。

根本原因:您的VLOOKUP返回错误!

其原因可能是因为表2中没有任何表1中的值。 (或者这可能只是您的示例。)如果是这样,则您可能要考虑使用模糊匹配(VLOOKUP中的最后一个参数-TRUEFALSE)。

代码中也可能有错误。这是我用于B2的公式:

=VLOOKUP(A2;Sheet2!$A$1:$B$5;2;0)

通常,最好在确定内部代码正常工作之前,不要使用IFERROR包装器。