office交流网--QQ交流群号

Access培训群:792054000         Excel免费交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

Access VBA自定义函数stdevp

2020-04-11 08:00:00
zstmtony
原创
3684

STDEVP 是用来计算标准差的函数,STDEV是样本标准差的函数,STDEVP是总体标准差的函数。

在Sql语句中 access可使用 STDEVP标准差的函数

但在VBA代码中,如果对一组数字求标准差,则没有一个自定义的函数,所以写了一个STDEVP自定义函数

需要先创建一个临时表 tblTmp 里面只有一个字段 FNum  类型为数字(双精度型)


Public Function Stdevp(dblNum1 As Variant, Optional dblNum2 As Variant, Optional dblNum3 As Variant, Optional dblNum4 As Variant, Optional dblNum5 As Variant)

Dim rs As Object
CurrentDb.Execute "Delete * from tblTmp"
Set rs = CurrentDb.OpenRecordset("Select * from tblTmp")
rs.AddNew
rs("FNum") = dblNum1
rs.Update

If Not IsMissing(dblNum2) Then
rs.AddNew
rs("FNum") = dblNum2
rs.Update
End If

If Not IsMissing(dblNum3) Then
rs.AddNew
rs("FNum") = dblNum3
rs.Update
End If


If Not IsMissing(dblNum4) Then
rs.AddNew
rs("FNum") = dblNum4
rs.Update
End If


If Not IsMissing(dblNum5) Then
rs.AddNew
rs("FNum") = dblNum5
rs.Update
End If

Stdevp = Nz(DStDevP("FNum", "tblTmp"))


End Function

分享