我有一些数据分布在6500+行和12列中。一些列具有一组3个数字(输入列)中的值,而其他列则具有所有唯一值(输出列)。
我在输入列上使用Excel筛选器,以根据特定的输入集筛选出一些行。我相信excel中的过滤器只会隐藏不满足过滤器的行。我需要获取过滤后的输出列的平均值。过滤后的数据在行之间没有连续或统一的位置,因此我无法(轻松地)指定使用平均值公式的范围。
如何获得过滤后的行的平均值?
样本数据-链接
示例数据解释-列A和B(输入列)从特定集合(分别为{5,10,15}和{20,40,60})中获取其值。列C和D(输出列)在所有单元格中都有唯一的值。假设我将过滤器设置为-
在A列上,使用过滤所有行value=5
。这将滤除行1,2,7,10。现在,我希望在C和D列的这些经过筛选的值行中获得AVERAGE。
答案是=SUBTOTAL(1,...)
。它仅考虑可见的单元格。
例如
=SUBTOTAL(1,C1:C12)
=SUBTOTAL(1,C:C)
=SUBTOTAL(1,D1:D12)
=SUBTOTAL(1,D:D)
SUBTOTAL是一项功能,可让您执行不同种类的聚合计算(例如SUM,AVERAGE,COUNT,MAX等),以及选择是否包括手动隐藏的值。第一个参数指定所需的聚合函数,以及是否忽略手动隐藏的值。对于AVERAGE,参数值1
包括隐藏值,101
不包括隐藏值。通过过滤器隐藏值总是排除在外,所以无论是1
或101
适用于这个例子。您还可以包括不连续范围的列表,它不仅限于单个范围规范。有关您可以对SUBTOTAL进行的操作的更多说明,请参见此链接
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句