计算标准误差 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