关于均值:EXCEL求和计算标准差

Summation in EXCEL for calculation of standard deviation

假设我想手动计算 sample standard deviation。如您所知,我们有这个公式可以做到这一点:

enter

1
=SQRT((E3-GEOMEAN($E$3:$E$32))^2/(COUNT($E$3:$E$32)-1))

但是这个函数计算每个单元格的standard deviation(这里是E3)。我需要一个类似于上述公式的总和。(这是一个使用 geometric mean 计算标准偏差的手动函数)。我怎样才能在 EXCEL 中做到这一点?

谢谢。


给你。花括号表示这必须作为数组公式输入(按 Ctrl Shift Enter 在 Excel 中完成公式,有关数组公式的更多信息,请参见此处):

1
{=SQRT(SUM(((E3:E32)-GEOMEAN(E3:E32))^2)/(COUNT(E3:E32)-1))}

以下 VBA 代码也将完成您想要的。创建一个新模块并添加以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
Function GeoSampleStdDev(rng As Range)
    Dim meanGeo, sum As Double

    meanGeo = WorksheetFunction.geoMean(rng)

    Dim cell As Range
    For Each cell In rng.Cells
        sum = sum + (cell.Value - meanGeo) ^ 2
    Next

    GeoSampleStdDev = Sqr(sum / (rng.Count - 1))
End Function

可以使用以下表达式在单元格中调用它:

1
=GeoSampleStdDev(E3:E32)

另外,请注意几何标准偏差的公式与您上面的不同。这是公式的另一种实现,源自维基百科。也是一个数组公式:

1
{=EXP(SQRT((LN((E3:E32)/GEOMEAN(E3:E32))^2)/COUNT(E3:E32)))}