我尝试了ABS
的任何组合,甚至没有运气的平方根。结果使用户定义的函数出错。
'Volatility Calculation
Rng0 = WorksheetFunction.Sum(Range(N0Addr)) - WorksheetFunction.Sum(Range(N1Addr))
Rng0
是要在计算平滑因子的分数的分母中使用的值。上面Rng0
的输出为差异之和提供了正确的值,但是我正在VBA公式中寻找差异之和的绝对值。预先谢谢你。
答案 0 :(得分:0)
如果您尝试对范围求和,然后计算绝对值以获得差值,则它看起来像这样:
Rng0 = Abs(WorksheetFunction.Sum(Range(N0Addr))) - Abs(WorksheetFunction.Sum(Range(N1Addr)))
但是,如果您要获取该范围内每个单元的绝对值,请将其求和,然后求出差值,则必须在该范围内进行迭代,以使用循环获得绝对值的总和,然后减去两个
编辑:这是一个执行您的公式的简单循环。顺便说一句,公式在后台执行完全相同的操作,它使用循环来计算和积。
简单的自定义功能:
Public Function MyFunction(r1 As Range, r2 As Range)
For i = 1 To r1.Count
MyFunction = MyFunction + Abs(r1(i) - r2(i))
Next
End Function