excel中,不排序,怎样直接求一列数据中部分从大到小数的平均值

如题所述

用这公式就行,数组公式,输入完成后不要直接回车,要按三键  CTRL+SHIFT+回车  结束。

=AVERAGE(LARGE(A1:A999,ROW(1:30)))


如果不想用数组公式的,公式长点,换为这样输入完成后直接回车就行了。

=AVERAGE(LARGE(A1:A999,{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30}))


以上公式设定区域为A1:A999 ,具体区域请根据实际调整。


由于是求平均值,可能会产生多位小数,还可以加入四舍五入函数,公式最后的数字2是控制保留小数的位数。

=ROUND(AVERAGE(LARGE(A1:A999,ROW(1:30))),2)


=ROUND(AVERAGE(LARGE(A1:A999,{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30})),2)



温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-16

=AVERAGE(SMALL(A:A,ROW(1:30)))  从小到大排序的前30个数字的平均值

=AVERAGE(LARGE(A:A,ROW(1:30)))  从大到小排序的前30个数字的平均值

ctrl+shift+enter 三键组合数组公式……

也可以自己 设一个辅助列 对数据进行排序(原数据不动) 然后 对辅助列前30个数据 进行求平均值的计算……

详细看附件……

本回答被网友采纳
第2个回答  2014-01-16
输入数组公式=AVERAGE(LARGE(A:A,ROW(1:30))) 按Ctrl+Shift+Enter组合键结束。
表示:对A列数据选前30个最大的数据求平均值。追问

excel中,不排序,怎样直接求一列数据中从大到小部分个数的平均值(比如这列数总数有40个,我要不排序求从大到小的80%个,也就是32个,或者50%,也就是20个)。

追答

出差途中,不便回复,敬请见谅!

第3个回答  2014-01-16

最简单的 选中你要单元格 然后表格下面会显示【如果你还要从大到小 那你就先排序就可以】



第二种 就是应用格式 随便点一个空白单元格 然后点击平均值 然后选中你要求平均值的单元格 然后回车 就会显示

第4个回答  2014-01-16
=AVERAGE(LARGE(A1:A9999,ROW(1:30)))
用上面的数组公式,输入完成后要按三键 CTRL+SHIFT+回车
限制最多9999行
第5个回答  2014-01-16
用average函数,”=AVERAGE(A1:A30)“