【问题标题】:Excel Merge on matching IDs匹配 ID 的 Excel 合并
【发布时间】:2019-02-10 12:31:04
【问题描述】:

我在 excel 中遇到了关于匹配和合并单元格的问题。我有一个表包含一些但不是所有 ID 和一些数据(table1),我有另一个包含所有 ID 和不同数据(table2)。

我想对这两个表进行匹配和合并,以便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 和索引和匹配,但由于某种原因它不起作用。

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

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

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

谢谢。

【问题讨论】:

  • 你能解释一下y56、y38等..是怎么来的吗?
  • 您在使用 VLOOKUP / INDEX(MATCH)) 时走在了正确的轨道上。请分享您尝试过的代码,我们可以尝试帮助您修复它。
  • @Josh Friedlander =IFERROR(VLOOKUP(Sheet1!A$2;Sheet2!$A$1:$D$50;COLUMN(A1);FALSE);Sheet1!A2)。 Harun,这些只是示例值。只要知道表 2 包含表 1 中的所有 F1 值。
  • 您能否将其编辑到问题中,并包括您从中获得的结果以及您希望看到的结果?
  • @JoshFriedlander 完成,我可能只是不明白我在做什么。我的大脑被炸了,我已经看了好几个小时了。

标签: excel merge


【解决方案1】:

您的 IFERROR 完全符合您的预期:它收到一个错误,并返回“备份”值(在本例中为 Sheet1!A$2)。

造成这种情况的根本原因:您的 VLOOKUP 返回错误!

原因可能是因为表 1 中的值都没有出现在表 2 中。 (或者这可能只是您的示例。)如果这是真的,您可能需要考虑使用模糊匹配(VLOOKUP 中的最后一个参数 - TRUE 或 FALSE)。

您的代码也可能存在错误。这是我用于 B2 的公式:

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

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

【讨论】:

  • 还是不行。我将尝试再使用一次索引匹配方法。我不知道为什么它不起作用,我的代码看起来很好,并且我已经三次检查了我想要匹配它们的值是否在两个表中。
【解决方案2】:

您可以使用 Powerquery(Microsoft 的 Excel 2013 插件,2016 年内置)

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

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

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

  1. 对其他表重复

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

  1. 数据(或 Powerquery)选项卡 > 新查询 > 合并查询 > 合并

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

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

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

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

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

  1. 观察结果

【讨论】:

  • 我觉得这可能比问题更复杂,但出于对您付出的努力的尊重而投票...
  • 哇!非常感谢!会试试这个!
  • 在处理大量数据时很有用。
  • 抱歉回复晚了,但我设法做到了。它实际上与 frickin' 数据类型有关......我觉得自己很愚蠢,因为没有考虑到这一点。无论如何,您的指南非常有帮助,因此我将其标记为答案。
  • 谢谢。 powerquery 的另一个优点是它会在加载时警告您有关数据类型的信息。您可以检查分配的数据类型,还可以检查是否进行了匹配。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-29
  • 2015-01-19
  • 2022-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-04
相关资源
最近更新 更多