计算标准误差 Vba
Calculating Standard Error Vba
我正在尝试使用 VBA 将标准误差函数添加到 excel 中,到目前为止我所拥有的只是标准差函数的变体。我在线获取了该函数并对其进行了更改,因此在最后一行中将其除以总数据点的平方根。这似乎对我不起作用。
编辑:当我尝试在 Excel 电子表格上使用该函数时,无论数据集是什么,它都显示为 0。
Function StdErr(numbers As Range) As Double
Dim i As Integer
Dim xbar As Double
Dim x As Double
xbar = WorksheetFunction.Average(numbers)
For i = 1 To numbers.Count
x = x + (numbers.Item(i).Value - xbar) ^ 2
Next i
SrdErr = (x / numbers.Count) / (Sqr(numbers.Count))
End Function
你得到零的原因是打字错误。
SrdErr =
最后应该是 StdErr =
.
您的代码存在一些问题:(1) 最后一条语句拼错了函数名称 SrdErr
而不是 StdErr
。这就是你得到 0 的原因。 (2) 根据 Microsoft documentation.
,函数定义本身不正确
试试这个:
Option Explicit
Function StdErr(numbers As Range) As Double
Dim StdDev As Double
Dim Size As Integer
StdDev = WorksheetFunction.StDev_S(numbers)
Size = WorksheetFunction.Count(numbers)
StdErr = StdDev / Sqr(Size)
End Function
包含 Option Explicit
是个好主意,这样您就可以避免像这样愚蠢的拼写错误。
你可以相当直接地做到这一点:
Function StdErr(numbers As Range) As Double
StdErr = Application.WorksheetFunction.StDev_S(numbers) / (Sqr(numbers.Count))
End Function
你的公式似乎有一个不正确的分母和一个缺失的总分子平方根,至少你正在尝试做 this formula
我正在尝试使用 VBA 将标准误差函数添加到 excel 中,到目前为止我所拥有的只是标准差函数的变体。我在线获取了该函数并对其进行了更改,因此在最后一行中将其除以总数据点的平方根。这似乎对我不起作用。
编辑:当我尝试在 Excel 电子表格上使用该函数时,无论数据集是什么,它都显示为 0。
Function StdErr(numbers As Range) As Double
Dim i As Integer
Dim xbar As Double
Dim x As Double
xbar = WorksheetFunction.Average(numbers)
For i = 1 To numbers.Count
x = x + (numbers.Item(i).Value - xbar) ^ 2
Next i
SrdErr = (x / numbers.Count) / (Sqr(numbers.Count))
End Function
你得到零的原因是打字错误。
SrdErr =
最后应该是 StdErr =
.
您的代码存在一些问题:(1) 最后一条语句拼错了函数名称 SrdErr
而不是 StdErr
。这就是你得到 0 的原因。 (2) 根据 Microsoft documentation.
试试这个:
Option Explicit
Function StdErr(numbers As Range) As Double
Dim StdDev As Double
Dim Size As Integer
StdDev = WorksheetFunction.StDev_S(numbers)
Size = WorksheetFunction.Count(numbers)
StdErr = StdDev / Sqr(Size)
End Function
包含 Option Explicit
是个好主意,这样您就可以避免像这样愚蠢的拼写错误。
你可以相当直接地做到这一点:
Function StdErr(numbers As Range) As Double
StdErr = Application.WorksheetFunction.StDev_S(numbers) / (Sqr(numbers.Count))
End Function
你的公式似乎有一个不正确的分母和一个缺失的总分子平方根,至少你正在尝试做 this formula