Excel SUMIF使用当前行

时间:2016-06-30 14:06:22

标签: excel excel-formula sumifs

我从来没有来过这里过去曾经遇到的各种Excel难题,但是这个让我感到难过。它与此表有关:

table screenshot

我想获得我所拥有的助攻总数,但在我赢得的游戏中 (目标为>目标反对)。此表中的总数为4 + 2 + 5 + 0 + 2 = 13。

这已被证明是棘手的,因为我希望将13的结果返回到单个单元格,因此在计算过程中引用当前行并不像拥有一列公式我可以向下拖动以考虑到每一个新行。

我已经阅读了建议VLOOKUP,INDEX(MATCH())等的答案,但他们似乎正在解决类似的问题,但与我的问题并不完全相同。

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

您可以将SUMPRODUCT用作:

=SUMPRODUCT((A2:A11>B2:B11)*(C2:C11))

见图片参考:

enter image description here

编辑:______________________________________________________________

  

SUMPRODUCT 函数将公式中的数组相乘并返回这些产品的总和。

因此,根据问题中的数据,公式将按如下方式评估:

第1步: 计算(A2:A11> B2:B11)

这会给你数组:

{(A2>B2);(A3>B3);(A4>B4);(A5>B5);(A6>B6);(A7>B7);(A8>B8);(A9>B9);(A10>B10);(A11>B11)}

{(4>1);(4>1);(1>3);(6>2);(0>4);(2>1);(3>2);(1>4);(2>3);(2>6)}

并且相当于

{TRUE;TRUE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;FALSE;FALSE}

这与

相同
{1;1;0;1;0;1;1;0;0;0}

第2步: 计算(C2:C11)

这会给你数组:

{4;2;0;5;0;0;2;1;1;2}

第3步:计算(A2:A11> B2:B11) * (C2:C11)

这将计算为:

{1;1;0;1;0;1;1;0;0;0}*{4;2;0;5;0;0;2;1;1;2}

相当于

{1*4;1*2;0*0;1*5;0*0;1*0;1*2;0*1;0*1;0*2}

并将提供

{4;2;0;5;0;0;2;0;0;0}

第4步: 计算SUMPRODUCT((A2:A11&gt; B2:B11)(C2:C11))* < /强>

这等于

SUMPRODUCT({4;2;0;5;0;0;2;0;0;0})

并将计算为

4+2+0+5+0+0+2+0+0+0 = 13

有关SUMPRODUCT的详细信息,请参阅this

答案 1 :(得分:0)

我假设“目标为”是A栏“目标反对”B栏和“助攻”栏C.如果没有大量数据,我会给我们一个数组公式。

{=SUM(IF(A:A>B:B,C:C,0))}

请确保使用Shift+Ctrl+Enter输入公式,因为这是一个数组公式。