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个答案。
 
- 
非常感谢布雷特·沃尔芬顿