匹配2张数据,如果匹配则更改另一个单元格中的数据

时间:2013-12-27 21:18:28

标签: excel vba excel-vba match vlookup

第1页

  E           -          K     -  L        -       M         -      BC
1 -Product Code/SKU -Price  -Cost Price -Retail Price   -Product UPC/EAN
2 -0100040          -10.79  -6.85       -11.99          -765462008109
3 -0100529          -9.99   -6.00       -8.99           -835787000758

第2页

   A        -    B         -     C                      -D      -E      -F
1 -Brand        -UNFI Product # -Product Name           -Retail -Cost   -LP Price
2 -Natralia     -0100529        -Natralia Dry Skin Wash -9.99   -6.00   -8.99
3 -Natralia     -0100701        -Natralia Dry Skin Lot  -9.99   -6.00   -8.99
4 -Head Products-0103432        -Head Organics Clearly  -13.59  -6.49   -12.19

在上表中我需要将表格1 E:E与表格2上的B:B匹配,如果匹配我需要(仅匹配)K:K更改为F:F表格2,L:L变为E:E和K:K变为F:F。对于大约15,000个产品/产品,这是相同的,对于第一张纸上的约4,000种产品的新价格更新。

1 个答案:

答案 0 :(得分:0)

根据PermaNoob的建议,我将我的评论作为答案重新发布。如果你喜欢这个答案,请提出他的意见。

您可以使用VLOOKUP轻松完成此操作。没有必要使用VBA。只需在Sheet 1中创建两个额外的列,并将每个列的第二行填入第一列: =IF(ISERROR(VLOOKUP(E2,'sheet 2'!B:B,1,FALSE)), K2, VLOOKUP(E2,'sheet 2'!B:F,5,FALSE))

...第二列的第二行应为:

=IF(ISERROR(VLOOKUP(E2,'sheet 2'!B:B,1,FALSE)), L2, VLOOKUP(E2,'sheet 2'!B:E,4,FALSE))

向下拖动,这是你的新数据;请记住,您需要将“工作表2”的名称更改为第二张工作表中的任何内容。