我有一个excel中的单元格,每按一次F9就刷新一次。我希望在一列中有1000个这个随机变量的副本,然后计算平均值。但手动输入实际值非常繁琐。
有一种有效的方法吗?
答案 0 :(得分:2)
假设单元格 B9 包含在每次计算工作表时重新计算的值。还假设我们将在 C1 至 C1000
中存储1000个样本Sub MontiCarlo()
Dim i As Long
For i = 1 To 1000
Application.Calculate
Cells(i, 3).Value = Range("B9").Value
Next i
Range("D1").Value = Application.WorksheetFunction.Average(Range("C1:C1000"))
End Sub
答案 1 :(得分:1)
这是我认为你想做的事情的一种方式:
Dim v As Variant
Dim i As Long
ReDim v(1 To 1000, 1 To 1)
For i = 1 To 1000
v(i, 1) = Rnd()
Next
Range("A3").Resize(1000, 1) = v
Range("A1").Formula = "=AVERAGE(A3:A1002)"