Excel函数模拟RMS计算返回错误

时间:2018-09-16 22:44:23

标签: excel vba user-defined-functions

全部,以下是我编写的Excel VBA脚本,试图在Excel中计算RMS。 str1变量是单个单元格值,avg是范围。这应该类似于均方根误差函数。它需要滚动地应用于整个工作表,而不仅仅是一个静态数据集,因此它必须是UDF。

要清楚,这将返回setter错误。输入公式#NAME?;所有S和T列都是返回数字的公式。

任何建议都值得赞赏,谢谢!

=runs_test(S86,T66:T86)

1 个答案:

答案 0 :(得分:1)

几个小的拼写错误和语法更正产生了以下工作功能。

Option Explicit

Function runs_test(avg As Double, setter As Range)

    Dim i As Range
    Dim counter As Double, er As Double
    Dim total As Long


    For Each i In setter

        er = (avg - i.Value) ^ 2
        counter = counter + er

    Next i


    total = setter.Cells.Count

    er = counter / total
    er = er ^ (1 / 2)

    runs_test = er

End Function

请注意,功能代码进入公共模块代码表,而不是私有工作表代码表。使用VBE中的“模块插入”将公共模块代码表带入项目。

enter image description here