Sumif索引和匹配项以及Google表格

时间:2018-10-29 19:50:17

标签: google-sheets excel-formula

当用于多个表时,Countif Index和Match函数让我有些困惑。 (在Google表格上) 基本上我想做的是以下事情:

我以一个简单的表格为例-我想在不同的表格上计算具有类似描述(如A,B等)的值的总和。 如果我将“ =SUMIF($D$2:D$10,"A",Index($D$2:$E$10,Match("A",$D$2:$D$10,0),2))”用于A,其中“行”使用“匹配”,则A给出正确答案,但B,C等不正确。

另一方面,当我使用“ =SUMIF($D$2:D$10,"B",Index($D$2:$E$10,0,Match("B",$D$2:$D$10,0)))”(其中“匹配”用于[列])时,B是正确的,但其他所有内容都是错误的。

我不确定我的错误在哪里,为什么我不能使公式适用于所有变量?然后跨所有表。 请协助:D enter image description here

2 个答案:

答案 0 :(得分:0)

以下公式

=SUMIF($D$2:D$10,"A",Index($D$2:$E$10,Match("A",$D$2:$D$10,0),2))

解析为

=SUMIF($D$2:D$10,"A",Index($D$2:$E$10,1,2))

依次解析为

=SUMIF($D$2:D$10,"A",$E$2)

但是Google表格和Excel的文档都说必须按以下方式调用SUMIF

SUMIF(range, criterion, [sum_range])

那么,如果[sum_range]只是像$ E $ 2这样的单元格引用而不是范围,会发生什么情况?答案是,它已扩展以匹配标准范围,因此您得到的是:

=SUMIF($D$2:D$10,"A",$E$2:E$10)

这很好用,您可以得到E列的总和,其中D列包含“ A”。

但是如果有的话会发生什么

=SUMIF($D$2:D$10,"B",Index($D$2:$E$10,Match("B",$D$2:$D$10,0),2))

此解析为

=SUMIF($D$2:D$10,"B",$E$3)

所以你现在得到的是

=SUMIF($D$2:D$10,"B",$E$3:$E$11)

看起来像这样

enter image description here

得到的最终结果是,您在E3:E10中获得的行与D列中包含B的行相对应。这些是第二行和第四行,分别包含20和30,总共有50条。 / p>

问题第二部分的答案是公式中除B之外的任何东西

=SUMIF($D$2:D$10,"B",Index($D$2:$E$10,0,Match("B",$D$2:$D$10,0)))

不会为您提供D2:E10的第二列,因此它将失败。

答案 1 :(得分:0)

我建议您改用查询! = query(D:E,“按D选择D,sum(E)组”)应该起作用。这样,您就无需为每个问题使用单独的公式。