计算机截取最高分和最低分的函数,excel函数:在职工互相民主测评打分后,去掉5%的最高分和5%的最低分后求算术平均数的函数怎么编?...

Public Function PJS(Cellbegain As Range, Cellend As Range) As Single

Dim iMax, iMaxNow, iMin, iMinNow, iCount, iCountNow As Single

Dim rRange As Range

Set rRange = Range(Cellbegain, Cellend)

iCount = rRange.Count

iCountNow = 0

iMax = 0

iMin = 0

Do Until iCountNow >= iCount * 0.05

iMax = WorksheetFunction.Max(rRange)

iMin = WorksheetFunction.Min(rRange)

iCountNow = iCountNow + 1

iMaxNow = iMaxNow + iMax

iMinNow = iMinNow + iMin

Loop

PJS = (WorksheetFunction.Sum(rRange) - iMaxNow - iMinNow) / (iCount - iCountNow * 2)

End Function

试试看吧。水平有限,程序还有些不完善,没有错误判断,关键是我不知道你的详细想法,我也没有测试结果是否正确,但思路肯定不会有问题的。

还有使用的时候格式应和如下一样:psj("a1","a10")

a1是开始数据区域,a10是结束数据区域。别忘记加引号!

如果不满意可以去ooffice精英俱乐部论坛vba板块求助,里面高手如云而且热心。地址:要注意的是注册之后不能马上发帖。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值