2017-08-28 108 views
-2

我有重複時間戳(1秒內有多個記錄)的表。每秒鐘內有不定數量的記錄;一秒鐘內從1條記錄到103條記錄。我希望開發一種方法來從所有具有相同時間戳的記錄中只選擇一個隨機記錄。Excel自動隨機選擇

時間列是列A.如果可能,我希望公式(或宏/ VBA)的最終結果在隨機選擇的行中的列B中具有單詞Keep。所有其他非隨機選擇的行可以留空。

謝謝,我道歉,如果我的示例數據表格格式不正確。

Time 
7:51:05 
7:51:05 
7:51:05 
7:51:05 
7:51:05 
7:51:05 
7:51:05 
7:51:05 
7:51:05 
7:51:05 
7:51:05 
7:51:05 
7:51:05 
7:51:05 
7:51:05 
7:51:05 
7:51:05 
7:51:05 
7:51:05 
7:51:05 
7:51:05 
7:51:05 
7:51:05 
7:51:05 
7:51:06 
7:51:06 
7:51:06 
7:51:06 
7:51:06 
7:51:06 
7:51:06 
7:51:06 
7:51:06 
7:51:06 
7:51:06 
7:51:06 
7:51:06 
7:51:06 
7:51:06 
7:51:06 
7:51:06 
7:51:07 
7:51:07 
7:51:07 
7:51:07 
7:51:07 
7:51:07 
7:51:07 
7:51:07 
7:51:07 
7:51:07 
7:51:07 
7:51:07 
7:51:07 
7:51:08 
7:51:08 
7:51:08 
7:51:08 
7:51:08 
7:51:08 
7:51:08 
7:51:08 
7:51:08 
7:51:08 
7:51:08 
7:51:08 
7:51:08 
7:51:08 
7:51:08 
7:51:08 
7:51:08 
7:51:08 
7:51:09 
7:51:09 
7:51:09 
7:51:09 
7:51:09 
7:51:09 
7:51:09 
7:51:09 
7:51:09 
7:51:09 
7:51:09 
7:51:09 
7:51:10 
7:51:10 
7:51:11 
7:51:11 
7:51:11 
7:51:11 
7:51:11 
7:51:11 
7:51:12 
7:51:12 
7:51:13 
7:51:13 
7:51:13 
7:51:13 
7:51:13 
7:51:13 
7:51:14 
7:51:14 
7:51:15 
7:51:15 
7:51:15 
7:51:15 
7:51:15 
7:51:15 
7:51:16 
7:51:16 
7:51:17 
7:51:17 
7:51:17 
7:51:17 
7:51:17 
7:51:17 
7:51:18 
7:51:18 
7:51:19 
7:51:19 
7:51:19 
7:51:19 
7:51:19 
7:51:19 
7:51:20 
7:51:20 
7:51:21 
7:51:21 
7:51:21 
7:51:21 
7:51:21 
7:51:21 
7:51:22 
7:51:22 
7:51:22 
7:51:22 
7:51:23 
7:51:23 
7:51:23 
7:51:23 
7:51:23 
7:51:23 
7:51:23 
7:51:23 
7:51:23 
7:51:23 
+0

時間總是會被排序嗎? – Horaciux

回答

0

假設值將被排序,下面的代碼應該工作。您應該逐步完成代碼,以確保其按預期工作,一旦刪除了.select語句。我只測試了一下,所以我把它留給你測試更徹底。您可以點擊此鏈接成爲familiar with the RND function

Option Explicit 
Sub randChoice() 
Dim stRow As Long, endRow As Long, t As Integer 
stRow = 2 
endRow = stRow + 1 
While Cells(endRow, 1) <> "" 
    Do 
    Cells(endRow, 1).Select 
    If Cells(stRow, 1) <> Cells(endRow, 1) Then Exit Do 
    endRow = endRow + 1 
    Loop 
    Randomize 
    t = Int((endRow - stRow) * rnd) 
    Cells(stRow + t, 2) = "Keep" 
    stRow = endRow 
    endRow = stRow + 1 
Wend 
End Sub