Excel VBA - Hàm Tạo danh sách số ngẫu nhiên không trùng lặp
Hướng dẫn tạo danh sách số ngẫu nhiên không lặp lại trong Excel
Để tạo ra một danh sách số ngẫu nhiên không lặp lại trong Excel, bạn có thể sử dụng hàm do người dùng định nghĩa (UDF) như sau:
- Mở Microsoft Excel và nhấn "Alt + F11" để mở Visual Basic Editor.
- Trong Visual Basic Editor, vào "Insert" > "Module" để tạo một module mới.
- Sao chép và dán mã UDF sau vào module:
Function RANDNUMNOREP(Bottom As Integer, Top As Integer, Amount As Integer) As String
Dim iArr As Variant
Dim i As Integer
Dim r As Integer
Dim temp As Integer
Application.Volatile
ReDim iArr(Bottom To Top)
For i = Bottom To Top
iArr(i) = i
Next i
For i = Top To Bottom + 1 Step -1
r = Int(Rnd() * (i - Bottom + 1)) + Bottom
temp = iArr(r)
iArr(r) = iArr(i)
iArr(i) = temp
Next i
For i = Bottom To Bottom + Amount - 1
RANDNUMNOREP = RANDNUMNOREP & " " & iArr(i)
Next i
RANDNUMNOREP = Trim(RANDNUMNOREP)
End Function
- Đóng Visual Basic Editor và lưu file Excel.
- Trong Excel, sử dụng hàm
RANDNUMNOREP(Bottom, Top, Amount)
để tạo danh sách số ngẫu nhiên không lặp lại.
Ví dụ: =RANDNUMNOREP(1, 100, 10)
sẽ tạo 10 số ngẫu nhiên không lặp lại trong khoảng từ 1 đến 100.
Nguồn: teachexcel.com
Post a Comment