【问题标题】:Troubleshooting formula with array - array arguments are of different size to EQ使用数组的故障排除公式 - 数组参数的大小与 EQ 不同
【发布时间】:2019-07-15 23:48:13
【问题描述】:

在 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 的数组参数大小不同”的错误。我尝试调整 ZRSKU 表中的行数,使其与我的其他表中的行数完全相同,但这没有任何区别。

我不确定出了什么问题,所以任何帮助或建议将不胜感激!

【问题讨论】:

  • 这不是一个格式良好的数组公式。请参阅下面的答案。

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


【解决方案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)))

【讨论】:

  • 完美运行,谢谢! MATCH函数我不知道,以后会记住的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-31
相关资源
最近更新 更多