【发布时间】:2026-02-05 19:15:02
【问题描述】:
我的电子表格中有两张表格,我正在寻找一些 VBA 代码(或简单公式)来将值从一张表格批量复制到另一张表格中。
Sheet1,在三列 (A-C) 中列出了城市、市场和产品。总共接近 19,000 行。
Sheet2,包含产品列表、产品子类别和产品来源(A-C 列),总共接近 300 行。
我想将产品子类别和产品来源(即 Sheet2 中的 B 列和 C 列)复制到 Sheet1 中,其中 Sheet1 的 C 列中的产品 = Sheet2 的 A 列中的产品。请注意,在复制到 Sheet1 时,我希望保持 Sheet2 中行的顺序。
我尝试了以下 INDEX/MATCH 方法,但它在第 18 行之后停止工作(我在 Sheet1 中有接近 19,000 行),并且一次只适用于一列。
=IFERROR(INDEX('Sheet2'!$B$2:$B$284, SMALL(IF($D2='Sheet2'!$B$2:$B$284, ROW('Sheet2'!$B$2:$ B$284)-1,""), ROW()-1)),"")
【问题讨论】:
-
您能否提供所需输出的示例?我不清楚
Sheet1和Sheet2中产品的多次出现应该如何匹配。Sheet1中的模式是否与您向我们展示的不同?如果是重复模式,您可以简单地手动复制Sheet2中的数据,这将是最快的方法。 -
您好,感谢您的快速回复。我在上面的编辑中添加了一个示例输出。我试图避免手动复制,因为 Sheet1 中的数据有 19,000 行长。如果有帮助,总共有 11 种产品,它们在 Sheet1 中的多行中重复出现,但与 Sheet2 中的顺序不同。但是,当从 Sheet2 复制到 Sheet1 时,我想保留 Sheet2 中的 Product - Product sub-category - Product origin 的相同顺序。我希望这会有所帮助。