我有 2 张。
一个“内容”包含产品代码 A11-A2912 和价格 E11-E2912,并且一些字段为空白。
新数据在单独的工作表“新价格数据”中,产品代码在 A1-A1409 中,价格在 B1-B1409 中。“新价格数据”中的产品代码按数字顺序排列,但不在“内容”中。
我需要比较产品代码并使用“新价格数据”中的数据更新“内容”中的价格数据
我希望这足够清楚
我知道这个问题已经在某处得到解答了,但我找不到任何可以解释我的问题的东西。
答案1
按照以下方法可以更新 E 列中的价格。
- 在内容表中插入新的 F 列。
- 将此公式放在 F11 中,并将 F 列向下填充至 E 列中的最后一个价格旁边(F11:F2912)。
=IFNA(VLOOKUP(A11,'New Price Data'!$A$1:$B$1409,2,FALSE),IF(E11=0,"",E11))
- 选择F11到数据末尾(F11:F2912),然后复制。
- 选择 E11。使用选择性粘贴复制值。
- 删除 F 列。
对于内容表中的每一行,VLOOKUP
检查新价格数据表中的 A1:B1409。如果VLOOKUP
从内容表中的 A 列找到产品代码,则返回新价格数据表中的匹配价格。如果VLOOKUP
找不到产品,则返回#NA
。
IFNA
查看来自的回报VLOOKUP
。如果回报是不是 #NA
,IFNA
返回VLOOKUP
结果,否则返回 E 列的旧价格。IF
保留空白字段,否则在 E 列为空白时 F 列将为零。
答案2
我可能错了,但我确信你必须使用 VBA,除非你想将“内容”表格式化为表格,然后按产品代码的顺序对其进行排序。然后,你可以让内容表的价格列中的值等于“新价格数据”表的价格列中的值。
是的,我错了。