首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从一行n个未排序的值中求出(n-6)最小值的平均值的公式

从一行n个未排序的值中求出(n-6)最小值的平均值的公式
EN

Stack Overflow用户
提问于 2014-08-25 11:30:17
回答 2查看 68关注 0票数 0

如何使用Excel公式计算一行n个未排序值中最小值的平均值(n-(上限(n*.05))?

我试图得到范围内数值的平均值,去掉最大的5%值,这可以被认为是尖峰。我不想预先排序行,因为我想保持值的顺序。

例如:如果值的范围为D2:Z2,那么我需要C2中的公式来返回(23-(上限(23*.05))的平均值)=范围内的21个最小值。

我正在查看SUMIFS,但无法让它使用标准值中的单元格地址。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-25 12:48:04

这是作为一个具有Shift-Ctrl-Enter的数组公式输入的,工作如下:

代码语言:javascript
复制
=SUM(B1:P1*IF(RANK.EQ(B1:P1,$B$1:$P$1)>6,1))/SUM(IF(RANK.EQ(B1:P1,$B$1:$P$1)>6,1))

假设您在范围内有n=15值,并且您想要(n-6)=9个最小值的平均值,如问题标题中所示。

如果您想要n-(ceiling(n*.05))最小值,那么只需将6替换为CEILING.PRECISE(COUNT($B1:$P1)*0.05),如下所示:

代码语言:javascript
复制
=SUM(B1:P1*IF(RANK.EQ(B1:P1,$B$1:$P$1)>CEILING.PRECISE(COUNT($B1:$P1)*0.05),1)) 
 /SUM(IF(RANK.EQ(B1:P1,$B$1:$P$1)>CEILING.PRECISE(COUNT($B1:$P1)*0.05),1))

显示中间计算的证明和解释:

票数 1
EN

Stack Overflow用户

发布于 2014-08-26 14:48:10

使用了更简单的硬编码特别解决方案。

=(SUM(I2:KV2)-SUM(大(I2:KV2,{1,2,3,4,5,6,7}))/(计数(I2:KV2)-7)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25484947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档