如何获得不等数组Google Spreadsheet的SUMPRODUCT

时间:2014-11-07 02:37:37

标签: google-sheets formula

Google states that SUMPRODUCT"计算两个相等大小的数组或范围中相应条目的乘积之和"。

我想要做的是在两个不等大小的数组中获取相应条目的乘积之和。这样的事情可以用Excel完成:

=SUMPRODUCT((WEEKDAY(A1:Z1,2)>5)*(A2:Z10="self"))

这将显示" self"的所有时间的总和。发生在第2行到第10行,其中第1行是周末。在Google Spreadsheets中,等效值应为

=ArrayFormula( SUMPRODUCT(WEEKDAY(A1:Z1,2)> 5, A2:Z10="self" ) )

但是,由于Google Spreadsheets只接受大小相同的数组,因此会失败。所以我看到它有三个选择:

  1. 在第1行和第2行之间插入8行,并附上所有日期的副本 第1行
  2. 使用8个总和重做公式,例如:
  3.   

    = ArrayFormula(SUMPRODUCT(...))+ ArrayFormula(SUMPRODUCT(...))......等......

    1. 找到另一个效率更高的公式
    2. 所以这个问题归结为第3点 - 我可以用什么其他公式来计算第2行到第10行的数组总和,以便我可以在SUMPRODUCT中加倍它们?或者是否有其他功能可以帮助我完成同样的事情?

      谢谢!

1 个答案:

答案 0 :(得分:1)

我不知道我是如何错过它的,但Excel的代码也适用于Google Spreadsheets。所以这是最终答案:

=ArrayFormula(SUMPRODUCT( ( weekday(A1:Z1,2)>5 ) * ( A2:Z10 = "self" ) ))

希望其他人觉得这很有用!