【问题标题】:Merge multiple Excel workbooks based on key column根据键列合并多个 Excel 工作簿
【发布时间】:2014-01-11 22:23:28
【问题描述】:

我从不同的客户那里得到了七本工作簿(xlsx 文件),每本都有一张纸。

每个工作表至少有一个公共 ID 列(UNIQ、PK)。其中一个工作簿包含所有可能 id 的列表。其他人可能没有记录所有 id,但每一行都定义了 id 值。

我需要制作一个最终工作簿,其中包含第一列 ID,然后合并每个文件中所有剩余的列。

然后我需要通过电子邮件发送final.xlsx,因此它独立于源文件(我不确定是否可以在保留常量值的同时取消引用它)。

我们可以使用VLOOKUP 或内置 Excel 函数来做到这一点吗?

【问题讨论】:

  • 公式并不能解决这里的所有问题。你试过什么?
  • 嵌套查找。我想知道如何将不同工作簿/电子表格中的剩余列合并并显示为一个。
  • VLOOKUP 和 INDEX 是从多列返回数据的潜在候选者。在每个源工作簿中,每个 ID 最多有一行感兴趣的行,还是每个 ID 可以有多行?
  • 一个 ID 在工作簿中不会重复多次(电子表格;因为每个工作簿只有一张)。
  • 为了避免在 cmets 中的大量来回,你有几分钟的时间和我一起聊天吗? chat.stackoverflow.com/rooms/45033/…

标签: excel primary-key unique vlookup


【解决方案1】:

如果您只打算执行此操作一次。你可以这样做:

  1. 转到包含所有 ID (Workbook0) 的工作簿
  2. 在 Workbook0 中应用 vlookup 以从 workbook1 中获取您需要的所有值
  3. 重复该过程以从 workbook2...3..& 中获取值,以此类推
  4. 最终,您应该有一个工作簿 (workbook0),其中包含您想要的所有数据,ID 位于第一列,其余数据位于后面的列中
  5. 现在要取消引用它,选择所有包含公式的单元格并按 Ctrl+C
  6. 不取消选择,转到粘贴 -> 选择性粘贴并选择粘贴值。这将覆盖仅包含值的公式单元格
  7. 然后转到数据 -> 连接
  8. 断开与其他工作簿的任何连接(如果存在)
  9. 保存并准备通过电子邮件发送独立文件

此外,如果这是您必须经常做的事情,并且步骤保持不变。我建议在开始之前,您单击录制宏,然后执行上述步骤,稍微调整该代码,将其保存在其他文件中以备将来使用,下次您不必手动执行。

【讨论】:

  • 谢谢!我实际上是在考虑拥有一个主文件并为每个项目制作一份副本(每次我得到 7 个同名的工作簿时)。因此,在打开master.xlsx 时,它只会执行所有这些步骤(因为它已经有了该公式)。
【解决方案2】:

如果您想尝试不同的方法,请查看“Excel 查询向导”https://superuser.com/questions/722348/merge-and-combine-in-excel/747430#747430

【讨论】:

  • 谢谢!我会试一试的。
【解决方案3】:

将两个excel文件导入Access数据库。

使用查询向导从两个表中进行选择并将结果复制到新的 Excel 表中。

Access 和 Excel 在同一个包中,因此无需额外费用。

【讨论】:

  • 这是一种解决方案,但不是最优的,即如果有人不知道数据库,那么?
猜你喜欢
  • 2014-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多