使用Excel公式计算第一次出现的其他列的总和值
假设我在Excel电子表格中有以下两列
AB 1 10 1 10 1 10 2 20 3 5 3 5
我想从B列中总结出用A公式表示A列中第一次出现的值。 所以我期望得到以下结果:
result = B1+B4+B5 = 35
也就是对列B进行求和,其中任何唯一值存在于同一行,而列A中。在我的情况下,如果Ai = Aj
,则Bi=Bj
,其中i,j
表示行位置。 这意味着如果来自A列的两行具有相同的值,则其来自B列的对应值是相同的。 我可以有按列A值sorting的值,但我更喜欢有一个公式,无论sorting工作。
我发现这篇文章提到了同样的问题,但提出的解决scheme我不能理解。
使用SUMPRODUCT和COUNTIF:
=SUMPRODUCT(B1:B6/COUNTIF(A1:A6,A1:A6))
为了使这个dynamic,所以它随着数据集的增长和收缩使用这个:
=SUMPRODUCT($B$1:INDEX(B:B,MATCH(1E+99,B:B))/COUNTIF($A$1:INDEX(A:A,MATCH(1E+99,B:B)),$A$1:INDEX(A:A,MATCH(1E+99,B:B))))
…或者只是SUMPRODUCT。
=SUMPRODUCT(B2:B7, --(A2:A7<>A1:A6))