如何使用单个公式从一系列条件中值中计算平均值?

问题描述

我需要在一个公式中执行两步计算。

数据集包含每篇文章的多个条目,如下所示:

enter image description here

到目前为止,我使用“帮助”列首先获取条件中值数组,然后再计算平均值。

第1步:计算每种产品的中位数价格变化。

enter image description here

第2步:从这些中位数计算平均值(每篇文章计数一次)。

enter image description here

我想将这两个步骤合并为一个公式(即通过使用动态数组函数)。

谢谢。

解决方法

我在想,帮助者专栏可能会更容易些。但是,可以在老板提供的O365中完成此操作:

=AVERAGE((INDEX(SORTBY(B:B,A:A,1,B:B,1),MATCH(UNIQUE(FILTER(A:A,A:A<>"")),0)+FLOOR((COUNTIF(A:A,UNIQUE(FILTER(A:A,A:A<>"")))-1)/2,1))+
INDEX(SORTBY(B:B,0)+CEILING((COUNTIF(A:A,1)))/2)

因此,基本上,匹配为您提供了每个组开始的行号数组,而下限/天花板函数使您从该行到该组内已排序数字的中点偏移。

有关中位数函数的“无大小写”形式的说明,请参见this

假定数据是在组字母上预先排序的,而不是在每个组中的数字上预先排序的。

enter image description here

因此,Index现在为您提供了一个没有黑客入侵的阵列-在尝试此操作之前,我不知道这一点。