![Excel 中计算平均值时如何自动排除最大值和最小值](https://linux22.com/image/1450344/Excel%20%E4%B8%AD%E8%AE%A1%E7%AE%97%E5%B9%B3%E5%9D%87%E5%80%BC%E6%97%B6%E5%A6%82%E4%BD%95%E8%87%AA%E5%8A%A8%E6%8E%92%E9%99%A4%E6%9C%80%E5%A4%A7%E5%80%BC%E5%92%8C%E6%9C%80%E5%B0%8F%E5%80%BC.png)
如果我想取中位数平均值(排除最高值和最低值),有没有办法在 Excel 上执行此操作,而不必手动查找并从平均值计算中排除最高值和最低值?
答案1
您所描述的内容没有内置函数。但是,它不需要 VBA 宏。尝试以下公式:
=(SUM(myRange) - MAX(myRange) - MIN(myRange)) / (COUNT(myRange) -2)
myRange
用单元格范围替换(即A1:A10
:)。
答案2
Steven 的回答对于旧版本的 Excel 来说很棒。但是,在 Excel 2010 及更新版本中(可能在 Excel 2007 中也是如此),新函数SUMIFS
和COUNTIFS
可用于生成此类平均值的非常灵活的版本:
中位数平均值的函数为:
=SUMIFS(B2:B7,B2:B7,"<"&LARGE(B2:B7,1),B2:B7,">"&SMALL(B2:B7,1))/COUNTIFS(B2:B7,"<"&LARGE(B2:B7,1),B2:B7,">"&SMALL(B2:B7,1))
如果您想要一个从列表极端中排除更多值的中位数平均值,则只需更改和函数中的四个值1
以匹配要排除的值的数量。SMALL
LARGE