在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工作表中的行数,使其与其他工作表中的行数完全相同,但这没什么区别。
我不确定发生了什么问题,因此将不胜感激任何帮助或建议!
答案 0 :(得分:1)
您会收到错误消息,因为这不是格式正确的数组公式,因为$L3:$L
和ZRSKUs!$A$1:$A$500
的长度不相等。我们可以通过使用另一个函数(在这种情况下为MATCH
:)来纠正此问题:
=ARRAYFORMULA(SUM(IF(ISNA(MATCH($L$1:$L, ZRSKUs!$A$1:$A$500, 0)), 0, $O$1:$O)))