調用Excel工具欄 Tools – Macro - Visual Basic Editor
Sub ExcelNoRepeatSampling() 'define macro name
Dim TempArr1(@) As Integer, TempArr2(0 To @, 1 To 1) As Integer '@ here means total overall number N
Dim RndNumber As Integer, i As Integer
Randomize (Timer)
For i = 0 To @
TempArr1(i) = i
Next i
For i = @ To 0 Step -1
RndNumber = Int(i * Rnd)
TempArr2(@ - i, 1) = TempArr1(RndNumber) + 1
TempArr1(RndNumber) = TempArr1(i)
Next i
Range("A1:An").Value = TempArr2 'Set sampling size as n, and list them in a row from 1 to n
End SubCtrl + H 把字符@替換為抽樣研究的總體數,把n替換為本次抽樣的樣本數。接著,運行用戶窗體,得到毫不重複的隨機數字。最後可以按照從小到大順序對這些隨機數字排序。
病歷產生依照嚴格的時間順序,即,一個醫生一次只接診一個病人,產生一次處方。病歷存放依據年月日時分,適合通過完全隨機抽樣解決。
以上 Excel Macro VBA Randomized Number 同樣適用於藥物處方抽樣。
0 评论:
張貼留言