计算每个唯一/不同的值

我有一个非常大的数据集,我需要处理和在我的计算三栏感兴趣。 我们称之为不同的列[A],[B]和[C]。 在[A]中,我有一个不同公司名称的列表,每个公司名称可能会出现几次。 我已经为数据创build了一个表格,并按字母顺序排列了公司名称。 假设我在A2:A5中有公司名称X,并且需要完成的计算是SUMPRODUCT(B2:B5; C2:C5)/ SUM(C2:C5)。 我如何计算每一个独特/独特的公司名称,并以一个很好的方式呈现结果?

例如在D2中,在新列D中使用以下公式:

=IF(A2<>A1,SUMPRODUCT(--($A$2:$A$10=A2)*$B$2:$B$10*$C$2:$C$10)/SUMIF($A$2:$A$10,A2,$C$2:$C$10),"") 

并且只要A中的值改变,它就会写下结果

将A2:A10,B2:B10和C2:C10更改为对应您的最后一行,并将固定引用保留为$
为了对应你的设置,我写了“;” 在下面的:

 =IF(A2<>A1;SUMPRODUCT(--($A$2:$A$10=A2)*$B$2:$B$10*$C$2:$C$10)/SUMIF($A$2:$A$10;A2;$C$2:$C$10);"") 

把两个INDEX函数放在一起: a :范围。

 =IF(A2<>A3, SUMPRODUCT(INDEX(B:B, MATCH(A2, A:A, 0)):INDEX(B:B, MATCH(A2&"z", A:A)), INDEX(C:C, MATCH(A2, A:A, 0)):INDEX(C:C, MATCH(A2&"z", A:A)))/SUMIFS(C:C, A:A, A2), TEXT(,)) 

首先发现,

 INDEX(B:B, MATCH(A2, A:A, 0)) 

find最后一次(在sorting数据上)

 INDEX(B:B, MATCH(A2&"z", A:A)) 

在这里输入图像说明

请注意,我将您的SUM更改为SUMIFS,使生活变得更简单。