当用于多个表时,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
答案 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)
看起来像这样
得到的最终结果是,您在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)组”)应该起作用。这样,您就无需为每个问题使用单独的公式。