google-sheets - 如何获取不等数组的 SUMPRODUCT Google Spreadsheet

标签 google-sheets formula

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. 在第 1 行和第 2 行之间再插入 8 行,其中包含所有日期的副本 第 1 行
  2. 用 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/

    相关文章:

    excel - 如何每 14 天通过公式或 VBA 更改对其他单元格的单元格引用?

    javascript - 使用 AppScript/JavaScript 的 HTML 按钮事件

    google-sheets - Google Sheets : Avoid #DIV/0! 在 ArrayFormula() 中

    google-sheets - 在 Google 表格中,如何查找包含特定文本的单元格的行号?

    Excel引用表格的第一列

    crystal-reports - Crystal Reports 中的条件非重复计数

    c - 试图找到两点之间的距离,但我得到了错误的答案 :(

    json - 从 url 读取 json

    google-sheets - 如何根据 Google 表格中的下拉范围计算总计?

    vb.net - 确定频率变化的关键点