Google states that SUMPRODUCT“计算两个大小相等的数组或范围中相应条目的乘积之和”。
我想要做的是获取两个不等大小的数组中相应条目的乘积之和。这样的事情可以用 Excel 来完成:
=SUMPRODUCT((WEEKDAY(A1:Z1,2)>5)*(A2:Z10="self"))
这将显示第 2 行到第 10 行中出现“self”的所有次数的总和,其中第 1 行是周末。在 Google 电子表格中,等效项应该是
=ArrayFormula( SUMPRODUCT(WEEKDAY(A1:Z1,2)> 5, A2:Z10="self" ) )
但是,由于 Google 电子表格只能接受相同大小的数组,因此此操作将会失败。所以在我看来,我有三个选择:
- 在第 1 行和第 2 行之间再插入 8 行,其中包含所有日期的副本 第 1 行
- 用 8 个和重新计算公式,例如:
=ArrayFormula( SUMPRODUCT(...)) + ArrayFormula( SUMPRODUCT(...)) ...etc...
- 寻找另一个更有效的公式
所以问题归结为第 3 点 - 我还可以使用哪些其他公式来计算第 2 行到第 10 行的数组总和,以便我可以在 SUMPRODUCT 中将它们相乘?或者是否有另一个功能可以帮助我完成同样的事情?
谢谢!
最佳答案
我不知道我是怎么错过的,但 Excel 代码在 Google 电子表格中也能完美运行。所以这是最终的答案:
=ArrayFormula(SUMPRODUCT( ( weekday(A1:Z1,2)>5 ) * ( A2:Z10 = "self" ) ))
希望其他人发现这很有用!
关于google-sheets - 如何获取不等数组的 SUMPRODUCT Google Spreadsheet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26793127/