我有一个包含 1000 个条目的一维数组。我想遍历这个数组的一部分并应用计算该子组的平均值。到目前为止我所做的看起来像这样:
Temp = Array(myArray)
Temp_Range = Application.Index(Temp, Evaluate("Row(1:10)"))
Average(i) = Application.Average(Temp_Range)
通过这个我可以计算前 10 行的平均值。然而,这根本不是动态的,我想知道是否有另一种方法来处理这个数组的子组(这样我最终可以循环遍历它们)?
谢谢你的帮助,我只是无法弄清楚这个......
更新: 我在这里用 St.Dev 尝试了你的代码(不是平均的)。有用!非常感谢。但是,代码真的很慢。有没有办法让它更快?
这里的循环: Return 是一个包含 1000 个返回值的数组。我的目标是计算一年的每日回报数据的标准差。
For i = 2 To n
If Year(Dates(i)) > Year(Dates(i - 1)) Then
Test = Application.Index(Return, Evaluate("Row(" & C & ":" & (i - 2) & ")"))
Vola(M) = Application.StDev(Test) * Sqr(252)
M = M + 1
C = i - 1
Else
Test = Application.Index(Return, Evaluate("Row(" & C & ":" & (i - 1) & ")"))
On Error Resume Next
Vola(M) = Application.StDev(Test) * Sqr(252)
End If
Next i