如果 indexmatch = #N/A,则保留原始单元格值

如果 indexmatch = #N/A,则保留原始单元格值

我在 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。

相关内容