office交流網--QQ交流群號

Access培訓群:792054000         Excel免費交流群群:686050929          Outlook交流群:221378704    

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

Access VBA自定義函數stdevp

2020-04-11 08:00:00
zstmtony
原創
283

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

分享