1000 エントリの 1 次元配列があります。この配列の一部をループして、そのサブグループの平均を計算したいと思います。私がこれまでに行ったことは次のようになります。
Temp = Array(myArray)
Temp_Range = Application.Index(Temp, Evaluate("Row(1:10)"))
Average(i) = Application.Average(Temp_Range)
これにより、最初の 10 行の平均を計算できます。ただし、これはまったく動的ではありません。この配列のサブグループを操作する別の方法があるかどうか疑問に思っていました (最終的にそれらをループできるようにするため)。
助けてくれてありがとう、私はこれを理解することができません...
更新: ここでコードを St.Dev で試しました (平均的ではありません)。できます!どうもありがとう。ただし、コードは非常に遅いです。それをより速くする方法はありますか?
ここでループ: Return は 1000 個の戻り値の配列です。私は、毎日のリターン データの 1 年間の標準偏差を計算することを目指しています。
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