Excel Formula Vlookup问题

时间:2018-11-09 19:52:27

标签: excel formula

我有2个excel工作表(“工作表1,工作表2”)。

工作表1和工作表2在A列中有“产品#”,在C列中有“价格”。我正在尝试编写一个公式,如果存在产品#匹配项,则允许工作表1在工作表2上查找。 A列,如果有产品编号匹配项,则在工作表1上更新C列(价格),从工作表2中更新产品价格。如果没有工作表2中的产品#匹配项,则将价格留在工作表1上。 / p>

我正在使用此公式,该公式会在出现错误时返回“ 0”,但我不知道如何在找不到产品#的情况下修改它,使价格保持不变。

=IFERROR(VLOOKUP(A2,updated!A:C,3,FALSE),0)

谢谢

2 个答案:

答案 0 :(得分:0)

您要为此使用INDEX/MATCH

C列中输入以下公式,然后向下填充     = IFERROR(IF(INDEX(Sheet2!B:B,MATCH(A2,Sheet2!A:A,0))== Sheet1!B2,B2,INDEX(Sheet2!B:B,MATCH(A2,Sheet2!A:A ,0))),“”“)

MATCH将在Sheet2上具有相同产品ID的行中找到,INDEX将返回匹配的价格。如果它与Sheet1上的值匹配,则公式将返回Sheet1上列B中的值。如果没有,它将返回Sheet2的价格

答案 1 :(得分:0)

这里唯一需要注意的是,您需要在新列中编写此公式,例如在D2中说,因为您不能用公式覆盖原始价格。

=IFERROR(VLOOKUP(A2,updated!A:C,3,FALSE),C2)

这是说:“如果A2与更新工作表的A列中的值匹配,请从更新工作表的C列中返回价格,除非有错误,在这种情况下,请使用工作表1上的原始价格({ {1}}。