我有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)
谢谢
答案 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}}。