我在尝试着
- 将两个范围 - 多列单行 - 传递给 Excel 2007 中的用户定义函数,
然后将其分配给数组进行处理。
函数 MAE(actualData As Range, predictData As Range) As Double
Dim data Dim forecast Dim error As Double Dim average As Double Dim i As Long data = Application.Transpose(actualData) forecast = Application.Transpose(forecastData) average = 0 error = 0 For i = 1 To UBound(data) error = data(i) - forecast(i) If error < 0 Then error = error * -1 End If average = error + average Next i MAE = average / UBound(data) End Function
我之前在这个论坛发过一个帖子,这里是链接
在那个线程中,我询问了将单个列作为 Range 传递给用户定义的函数。根据您的建议,我修改了代码,当我通过两个单列时它运行良好。
但是当我通过两行时,它就不起作用了。我收到#Value 错误。对此有什么建议吗?