每个唯一/不同值的计算

时间:2017-06-18 19:32:03

标签: excel excel-vba excel-formula ms-office vba

我有一个非常大的数据集,我需要使用它,在我的计算中,三列是有意义的。让我们调用不同的列[A],[B]和[C]。在[A]中,我有一个不同公司名称的列表,其中每个公司名称可能会多次出现。我已经为数据创建了一个表,并按字母顺序对公司名称进行了排序。假设我在A2:A5中有公司名称X,需要进行的计算是SUMPRODUCT(B2:B5; C2:C5)/ SUM(C2:C5)。如何为每个独特/不同的公司名称计算出来并以一种很好的方式显示结果?

2 个答案:

答案 0 :(得分:1)

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

float

并在A中的值发生变化时将其向下拖动它将写入结果

更改A2:A10,B2:B10和C2:C10以对应您的最后一行并保留$作为固定参考号 为了对应你的设置,我写了#34 ;;"在下面:

double

答案 1 :(得分:0)

将两个INDEX函数与:放在一起作为范围。

=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))

最后一次出现(在已排序的数据上),用

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

enter image description here

请注意,我将SUM更改为SUMIFS,以使生活更轻松。

相关问题