|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
本帖最后由 mikewolf 于 2023-3-16 18:05 编辑
​'a为单元格范围,比如:F54:f94,b为数据值,C为权重,求考核得分
Function JXKH(a, b, c)
Dim MaxV, MinV, AvgV As Long
AvgV = Application.WorksheetFunction.Average(a)
MaxV = Application.WorksheetFunction.Max(a)
MinV = Application.WorksheetFunction.Min(a)
' 指标值低于(等于)分行平均值时:指标得分=权重分+(分行平均值-指标值)÷(分行平均值-分行最小值)×权重分×0.8
' 指标值高于分行平均值时:指标得分=权重分-(指标值-分行平均值)÷(分行最大值-分行平均值)×权重分×0.8
If b < AvgV Then
JXKH = c * (1 + (AvgV - b) / (AvgV - MinV) * 0.8)
Else
JXKH = c * (1 - (b - AvgV) / (MaxV - AvgV) * 0.8)
End If
End Function
通过调试发现,AvgV始终都为0,不是真正的平均数,不知道哪里写错了。请各位大侠指正。谢谢了。
​
|
|