excel - 两 (2) 个范围内差异的绝对值
问题描述
我希望使用 VBA 函数计算两 (2) 个命名范围内差异的绝对值之和。下面的公式计算了两 (2) 个范围内的差异之和,但我很难获得范围内差异之和的绝对值。
我已经尝试了任意数量的组合,ABS
甚至是平方根的平方根,但都没有运气。结果在用户定义的函数中出现错误。
'Volatility Calculation
Rng0 = WorksheetFunction.Sum(Range(N0Addr)) - WorksheetFunction.Sum(Range(N1Addr))
Rng0
是在计算平滑因子的分数的分母中使用的值。上面的输出为Rng0
差异总和提供了正确的值,但我正在寻找 VBA 公式中差异总和的绝对值。先感谢您。
解决方案
如果您尝试对范围求和,然后计算绝对值以获得差异,那么它看起来像这样:
Rng0 = Abs(WorksheetFunction.Sum(Range(N0Addr))) - Abs(WorksheetFunction.Sum(Range(N1Addr)))
但是,如果您试图获取范围内每个单元格的绝对值,请将其相加,然后得到差值,您必须遍历范围以使用循环获得 abs 值的总和,然后将两者相减。
编辑:这是一个简单的循环,可以执行您的公式。顺便说一句,公式在后台执行完全相同的操作,它使用循环来计算 sumproduct。
简单的自定义功能:
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
推荐阅读
- r - 使用 purrr::map 应用于每个值
- python - AttributeError:“numpy.ndarray”对象没有属性“get”
- php - 在 PHP 仪表板中显示数据库记录数
- algorithm - 重新组合地理点的算法
- c# - JSON.net - 将嵌套对象反序列化为单个列表
- python - Twitter bot 自动接受关注者请求
- powershell - 无法将参数绑定到参数“IPAddress”,因为它是一个空字符串
- php - 使用PHP检查URL是否存在的有效方法
- include - 找不到 LLVM 库文件
- python-3.x - Networkx:如何在图表中添加来自 csv 文件的边缘标签