使用数组对公式进行故障排除-数组参数的大小与EQ

时间:2019-07-12 10:12:42

标签: google-sheets sum google-sheets-formula array-formulas

在Google表格中,如果有一个单元格包含另一张工作表中列出的任何值,则我有一个公式可以在一行中显示该项目的值。看起来像这样:

=ARRAYFORMULA(IF(OR(L2 = ZRSKUs!$A$1:$Z$12005), O2, "0"))

如果L2包含工作表ZRSKU中的任何值,则此公式将显示该项目的值,该值保存在O2中。如果将公式向下拖动,它将产生每一列的值,然后可以得到该列的SUM。我想要一种方法来执行此操作,而不必将公式向下拖动到每一行(此电子表格大约有20,000行,因此需要很长时间才能完成)。我还希望公式也将其相加,所以所有这些都在一个单元格中完成。

我试图编辑公式来做到这一点,这就是我想出的:

=ARRAYFORMULA(SUM(IF(OR($L3:$L = ZRSKUs!$A$1:$A$500), $O3:$O, "0")))

但是,这给了我一个“ EQ的数组参数大小不同”错误。我尝试调整ZRSKUs工作表中的行数,使其与其他工作表中的行数完全相同,但这没什么区别。

我不确定发生了什么问题,因此将不胜感激任何帮助或建议!

1 个答案:

答案 0 :(得分:1)

您会收到错误消息,因为这不是格式正确的数组公式,因为$L3:$LZRSKUs!$A$1:$A$500的长度不相等。我们可以通过使用另一个函数(在这种情况下为MATCH :)来纠正此问题:

=ARRAYFORMULA(SUM(IF(ISNA(MATCH($L$1:$L, ZRSKUs!$A$1:$A$500, 0)), 0, $O$1:$O)))