如何在一个Excel工作表中搜索多个值并将其复制到另一个工作表

时间:2013-02-18 15:08:05

标签: excel sqlbulkcopy

美好的一天

我有一个很大的问题

我有一个在线商店,需要更新产品和价格 我有一份excel表,其中包含所有当前在线产品,并收到了新的价格表 现在的问题是,我处理超过5000种产品,我不能逐一更新它们

我现在需要的是从一张纸上复制价格并将其移到另一张纸上的相应SKU /产品代码的代码

我还有一份我需要从当前Excel表格中删除的EOL产品列表 所以我需要一个代码来在EOL表上找到产品代码/ SKU,然后在另一张纸上用相应的SKU删除整行

谢谢

1 个答案:

答案 0 :(得分:1)

假设您的产品具有可在所有三个表中使用的唯一ID,这应该是一项不需要任何编程的简单任务。

<强> 1。更新价格

您只需要一个VLOOKUP公式。我假设您的所有产品和价格的列表在A列中都有产品ID,在B列中有(旧)价格。我的新价格表具有相同的格式。然后将以下公式放在单元格B2中(您当前有旧价格):

=VLOOKUP(A2,[NewPriceFile]Sheet1!$A:$B,2,0)

这将为您返还新价格。

<强> 2。删除旧产品 在这里,我假设您只有一个EOL产品ID列表。将以下公式放在C列中:

=ISERROR(MATCH(A2,[EOLFile]Sheet1!$A:$A,0))

每次在EOL列表中找到产品并且FALSE时,都会返回TRUE

现在您只需将自动筛选应用于完整列表(数据选项卡 - &gt; 排序和过滤 - &gt; 过滤器 )并过滤C FALSE列。选择所有行并删除它们( Ctrl - - )。

同样,如果找到所有产品,您也可以检查B列。如果未找到产品,则会显示#N/A!,您可以对其进行过滤。或者,您可以将公式与IFERROR结合使用,如果没有找到新价格则使用旧价格:

=IFERROR(VLOOKUP(A2,[NewPriceFile]Sheet1!$A:$B,2,0),D2)

(这假设旧价格存储在D2中)