你怎么弄出列的MEDIAN考虑到filter?

我最近发现,你可以使用SUBTOTAL的各种function,使您可以总结或find列的总和,即使有filter被应用到它。

但是, SUBTOTAL函数的列表中不包含MEDIAN

是否有可能find一列数字的中位数考虑到一些行已经过滤了?

更新为从下面的lori_m中select评论

1.原始答案 – 所有xl版本
由此解决scheme提供的Aladin Akyurek如果您的数据在A1:A10中,则使用shift ctrlinput此公式。 =MEDIAN(IF(SUBTOTAL(3,OFFSET(A1:A10,ROW(A1:A10)-MIN(ROW(A1:A10)),,1)),A1:A10))

2.更新的答案(非数组) – 所有的xl版本 =MEDIAN(IF(SUBTOTAL(3,OFFSET(A1:A10,MMULT(ROW(A1:A10),1)-MIN(MMULT(ROW(A1:A10),1)),,1)),A1:A10))

3. Excel 2010和Excel 2013
=AGGREGATE(12,5,A1:A10)

确实, SUBTOTAL不包含MEDIAN但是您可以首先使用SUBTOTAL ,然后在需要MEDIAN几个或多个列/单元格中replaceExcel公式的一部分来获取它。

假设你在Excel小计函数中使用了AVERAGE ,那么公式就是例如= SUBTOTAL(1; E10:E12)现在,用"MEDIAN(" (不带引号)replace所有出现的"SUBTOTAL(1;" )。