2014-04-22 21 views
-1

我在Excel中有一個單元格,每次按F9時都會刷新一個單元格。我想在一列中有1000個這個隨機變量,然後計算平均值。但手動鍵入實際值非常繁瑣。Excel中的一千個隨機值

有沒有一種有效的方法呢?

+0

查找到[RND](http://www.techonthenet.com/excel/formulas/rnd.php)函數 –

+0

也,分享你迄今爲止已經嘗試過的代碼以及你所擁有的代碼增加了獲得答案的機會 –

+0

你想(i)一千個隨機值的副本,(ii)一千個隨機值或(iii)一千隨機生成的值是唯一的? VBA是強制性的嗎? – pnuts

回答

2

比方說,該小區B9包含在工作表的每次計算中重新計算的值。還假設,我們將在C1存儲1000個樣本通C1000

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 
+0

謝謝,我正在尋找什麼! – kanbhold

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)" 
+0

謝謝,但我的隨機變量是特定的。它是其他隨機變量的總和,其中一些是指數分佈的,其中一些不是。 – kanbhold