设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3642|回复: 6
打印 上一主题 下一主题

如何用VBA代码进行这样的计算

[复制链接]
跳转到指定楼层
1#
发表于 2011-2-13 12:21:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
A列中有一个数组:22 、 14 、 16 、 18、  24  、20,平均值是19,现在要统计数组中的每个数与平均值的差的总和,VBA代码如何写?请大家帮帮我,多谢了!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2011-2-13 13:49:36 | 只看该作者
我不太懂excel
你试试陈峰这个 函数
------------------计算总体参数为n-1的标准差---------------
'--输    入:Expr-1[, Expr-2, ... [, Expr-n]]
'--输    出:计算总体参数为n-1的标准差
'--作    者:陈峰
'---------------------------------------------------
Function Stdev(ParamArray Expr() As Variant) As String
    Dim curSun As Double, curAverageBad As Double, curBadSquare As Double
    Dim curAccuracy As Double
    Dim ExprLen As Long
    ExprLen = UBound(Expr) + 1
    curAccuracy = Val("10000000000000000")
    For i = 0 To ExprLen - 1
        curSun = curSun + Val(Expr(i))
    Next
    curAverageBad = Fix(curSun / ExprLen)
    For i = 0 To ExprLen - 1
        curBadSquare = curBadSquare + (Val(Expr(i)) - curAverageBad) ^ 2
    Next
    If ExprLen <= 20 Then
        Stdev = Fix(100 * Sqr(curBadSquare / (ExprLen - 1)) * curAccuracy + 0.5) / curAccuracy / 100
    Else
        Stdev = Fix(100 * Sqr(curBadSquare / ExprLen) * curAccuracy + 0.5) / curAccuracy / 100
    End If
End Function

'*************************************************************************

3#
 楼主| 发表于 2011-2-13 15:36:04 | 只看该作者
谢谢
4#
发表于 2011-2-14 09:19:48 | 只看该作者
本帖最后由 roych 于 2011-2-14 10:34 编辑

总和不是0么?还是负数要取绝对值?如果负数取绝对值的话,其实不一定非要用VBA的,我觉得数组公式就很好:

顺便说一下,王站的函数是用来计算标准方差的,而不是像LZ所以为的那样。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
5#
 楼主| 发表于 2011-2-14 11:15:29 | 只看该作者
本帖最后由 GAOZHONG 于 2011-2-14 11:16 编辑

谢谢4#回答,其实我要的就是标准差的函数,但我们行业上的标准差计算方法有点不一样,如图:file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/MTHCMAT2B(1KF4%7D%7D15~~BDK.jpg,fcui是数组中的每一个值,n是数组中的数据个数 ,mfcu是数组中全部数据的平均值,请教该如何编写这个函数?
6#
发表于 2011-2-14 15:23:04 | 只看该作者
回复 GAOZHONG 的帖子

看不到图片~~
7#
 楼主| 发表于 2011-2-16 14:52:53 | 只看该作者
本帖最后由 GAOZHONG 于 2011-2-16 14:53 编辑

谢谢roych的帮助,我已经做搞定了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-2 15:20 , Processed in 0.086789 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表