Header Ads

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

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:

  1. Mở Microsoft Excel và nhấn "Alt + F11" để mở Visual Basic Editor.
  2. Trong Visual Basic Editor, vào "Insert" > "Module" để tạo một module mới.
  3. 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
    
  1. Đóng Visual Basic Editor và lưu file Excel.
  2. 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

No comments

Powered by Blogger.