Summation in EXCEL for calculation of standard deviation
假设我想手动计算 sample standard deviation。如您所知,我们有这个公式可以做到这一点:
我在 EXCEL 中使用此函数来执行此操作:(数据范围:E3:E32)
1
| =SQRT((E3-GEOMEAN($E$3:$E$32))^2/(COUNT($E$3:$E$32)-1)) |
但是这个函数计算每个单元格的standard deviation(这里是E3)。我需要一个类似于上述公式的总和。(这是一个使用 geometric mean 计算标准偏差的手动函数)。我怎样才能在 EXCEL 中做到这一点?
谢谢。
- 为了澄清,您需要一个公式,将上述公式中的总和替换为乘积?更好的是,粘贴你想要的公式。
-
是的。我需要一个单元格中的总公式。我想使用单个 EXCEL 函数在单个单元格中获得公式的最终结果
-
刚出去开会。成为天使并提出公式。我的猜测是其他人会在我回来之前回复!
-
公式在哪里;-)?在深入研究之前需要它。我认为我们最终会在值的 log 上使用 STDDEVP,但在继续之前需要公式。
-
As you know we have this formula to do this : 在上面的问题中!。我想在单个单元格中将其转换为 Excel 函数:-)
-
但是您的 SQRT 公式与 S 公式没有相似之处。您没有使用 x 条形术语。
-
我正在使用 GEOMEAN 来计算平均值。因此,我不能使用 EXCEL 函数来计算标准偏差,需要这个手动函数。
-
现在我懂了。唯一的区别是 x bar 是几何平均值?
-
我有一个公式,x bar 是几何平均值,其他一切都一样。请确认那是您想要的,我会回答。
给你。花括号表示这必须作为数组公式输入(按 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)))} |
- 谢谢您的回答。您可以在上述 VBA 代码旁边为最后一个函数添加 VBA 代码吗?
-
@user2991243:来吧,你可以使用上面的代码片段自己做。顺便说一下1个答案。
-
非常感谢布雷特·沃尔芬顿