If statement 使用arrayformula的Google Sheets VLOOKUP不起作用

If statement 使用arrayformula的Google Sheets VLOOKUP不起作用,if-statement,google-sheets,google-sheets-formula,array-formulas,gs-vlookup,If Statement,Google Sheets,Google Sheets Formula,Array Formulas,Gs Vlookup,我正在尝试使用VLOOKUP和ARRAYFORMULA填充另一张表中的数据行 以下是我使用arrayformula的数据: G2的公式如下: =arrayformula(if(ISBLANK(E2:E),"",VLOOKUP(E2:E,'Product List'!$A$2:$C,2)*F2:F)) 下面是另一张表中的产品列表: 正如你所看到的,它带来了错误的数字: 我的arrayformula有什么问题使它这样做?如果E列中的内容与A列中的内容不完全匹配,它将进行最接近的匹配。如果您不希望出

我正在尝试使用VLOOKUP和ARRAYFORMULA填充另一张表中的数据行

以下是我使用arrayformula的数据:

G2的公式如下:

=arrayformula(if(ISBLANK(E2:E),"",VLOOKUP(E2:E,'Product List'!$A$2:$C,2)*F2:F))
下面是另一张表中的产品列表:

正如你所看到的,它带来了错误的数字:


我的arrayformula有什么问题使它这样做?

如果E列中的内容与A列中的内容不完全匹配,它将进行最接近的匹配。如果您不希望出现这种情况,可以通过在VLOOKUP中添加FALSE作为第四个参数来解决。通过如下所示添加FALSE,不匹配的单元格将显示为N/a,而不是错误的数字

=ARRAYFORMULA(IF(ISBLANK(E2:E),"",VLOOKUP(E2:E,'Product List'!$A$2:$C,2,FALSE)*F2:F))

除此之外,我不明白为什么这个公式不起作用。

只是对的稍作修改,以考虑可能出现的错误,并渲染出不必要的语法元素,从而使其更短

=ARRAYFORMULA(IF(E2:E="", , IFERROR(VLOOKUP(E2:E,'Product List'!A2:C, 2, 0))*F2:F))

就这样!我本想尝试一下,但我错误地认为默认设置为FALSE。非常感谢你!