使用当前行的Excel SUMIF
我从来没有来过这里,因为我曾经遇到过各种各样的Excel难题,但是这个让我难住。 它与这个表有关:
我想得到我有的总助攻数,但是只有在我赢过的比赛中(进球数>进球数)。 这个表中的总数是4 + 2 + 5 + 0 + 2 = 13。
这已经被certificate是棘手的,因为我想把13的结果返回到一个单元格,所以在计算过程中引用当前行并不像有一列公式可以拖拽到每一个新行。
我读过的答案build议VLOOKUP,INDEX(MATCH())等,但他们似乎解决类似的问题,但不完全一样的我的。
先谢谢您的帮助!
您可以使用SUMPRODUCT
作为:
=SUMPRODUCT((A2:A11>B2:B11)*(C2:C11))
见图像以供参考:
编辑:______________________________________________________________
SUMPRODUCT
函数将公式中的数组相乘,并返回这些乘积的总和。
根据问题中的数据,公式将被评估如下:
步骤1: 计算(A2:A11> B2:B11)
这会给你arrays:
{(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)
这会给你arrays:
{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> 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
详细信息,请参阅SUMPRODUCT
。
我假设“目标为”是列A“目标反对”列B和“协助”列C.如果没有大量的数据,我会给我们一个数组公式。
{=SUM(IF(A:A>B:B,C:C,0))}
确保使用Shift+Ctrl+Enter
来input公式,因为这是一个数组公式。