全部,以下是我编写的Excel VBA脚本,试图在Excel中计算RMS。 str1
变量是单个单元格值,avg
是范围。这应该类似于均方根误差函数。它需要滚动地应用于整个工作表,而不仅仅是一个静态数据集,因此它必须是UDF。
要清楚,这将返回setter
错误。输入公式#NAME?
;所有S和T列都是返回数字的公式。
任何建议都值得赞赏,谢谢!
=runs_test(S86,T66:T86)
答案 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中的“模块插入”将公共模块代码表带入项目。