我在 Excel 中有 2 个工作表。工作表 1 是供应商提供给我们的价格表,工作表 2 是我们提供的所有产品的清单(可以来自多个供应商)。每个工作表的第一列是产品代码,第二列是价格。我在工作表 2 的价格列中进行了索引匹配,以获取工作表 1 中的价格信息(其中包含最新价格)。索引匹配有效,但如果工作表 2 中有工作表 1 中没有的产品,我不希望工作表 2 中的价格发生变化。我想我需要在 VBA 中执行 IF 函数……但我不知道该怎么做!
答案1
针对 @Jonno 的回答,最好在单独的列中使用 Iferror。类似这样的操作应该在单元格 c2 中起作用,我将在该单元格的列中将其命名为“更新价格”:
=Iferror(<<<EXISTING INDEX MATCH FORMULA HERE>>>,b2)
这将运行您的指数匹配公式并提取正确的价格。如果无法做到这一点,它将返回现有价格。这将改变这一点:
Product ID Price
1 3.50
2 #N/A
对此
Product ID Original Price Updated Price
1 2.50 3.50
2 2.50 2.50
答案2
您可以使用 IFERROR 函数来处理 #N/A 结果。
例如
=IFERROR(YourLookup,10.5)
如果查找成功则返回查找结果,如果找不到结果则返回 10.5。