【问题标题】:Match up data in 2 sheets and change data in another cell if they match匹配 2 张纸中的数据,如果匹配则更改另一个单元格中的数据
【发布时间】:2013-12-27 21:18:28
【问题描述】:

表 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 种产品的新价格更新。

【问题讨论】:

  • 你试过什么? See this link
  • 没什么,我不知道该怎么做,但我相信一定有办法哈哈
  • @BillN。您应该将其发布为答案。此外,如果您在公式和代码周围使用 ` 键,它将以正确的方式格式化它们。
  • 感谢您的提示。抱歉,我很重视自己阅读输入区域下方有用的黄色框。

标签: vba excel match vlookup


【解决方案1】:

根据 PermaNoob 的建议,我将重新发布我的评论作为答案。如果您喜欢他的答案,请点赞他的评论。

您可以使用 VLOOKUP 轻松完成此操作。无需使用 VBA。只需在工作表 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”的名称更改为第二张工作表的名称。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-22
    • 1970-01-01
    • 2022-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多