如何使用ArrayFormula在谷歌spreesheet的多个单元格中做一个sumif?

时间:2016-01-28 22:42:18

标签: google-sheets

我使用Arrayformula()使我的报告更具动态性,更易于编辑。例如,如果我的列A中有一个列表o数字o一组中的蓝色球和一个列中带有列表红色球的列B,则在单元格C1上我可以写=ArrayFormula(add(A1:A,B1:B))并在列C中将在每组中拥有总球数。这与在单元格C1中编写=A1+B1并将公式向下拖动到最后一行完全相同。 Arrayformula()有一些好处,因为如果有些人在工作表中添加或删除行,它会有效,并且它会使报告更有条理,更容易编辑。

因为我发现arrayformula(),我的生活发生了变化,因为googleSheets将公式扩展到其他单元格。它不是每次都有效,但扩展到其他单元格的想法似乎有可能某种方式,这是good example问题未由arrayformula()解决,但具有相同的问题想法。

记住这个想法,我想用arrayformula做一个sumif,将函数扩展到一个范围内的所有单元格。 sumif部分非常简单。想象一下,我有A栏的A栏名称,B栏我想写出每个孩子所有球的总和。我从第二张表中收集这些数据。在第二个表中,我在D列中有孩子的名字,在E栏中有球的颜色,在F栏中有那个颜色的球的数量。

我在第1行的第一个孩子的总结看起来像=sumif($D:$D,A1,$F:$F)。如果我将这个公式一直拖到B列,我会得到所需的结果。但是,我想用扩展的公式来做到这一点。我试过了arrayformula(sumif($D:$D,A1:A,$F:$F)),它确实扩展了公式,但显然它不起作用。

以下是此公式不起作用的spreeSheet。有些单元格的值不正确。

有人有替代方案吗?

1 个答案:

答案 0 :(得分:1)

我认为你的范围和标准是错误的。公式应该是:

=ARRAYFORMULA(if(A2:A="","",SUMIF('Controle Jussi'!$B$2:$B,$A$2:$A,'Controle Jussi'!$C$2:$C)))