Làm sao cho một số xuất hiện ngẫu nhiên theo số lần định trước

Liên hệ QC

tieulongphi

Thành viên mới
Tham gia
25/9/07
Bài viết
8
Được thích
3
Nhờ các bạn giúp đỡ giùm mình vấn đề này: giả sử trong bảng tính excel từ ô A1 đến A100 mình muốn cho xuất hiện ngẫu nhiên các số từ 1 đến 20 và mỗi số xuất hiện 5 lần, vậy mình có thể lập công thức hay dùng VBA như thế nào không ?
Xin cám ơn các bạn !
 
Hãy thử với macro sau:

PHP:
Option Explicit
Sub NgauNhien100()
 Dim J As Long, Num As Byte, StrC As String
 
 For J = 0 To 99
    StrC = StrC & Right("0" & CStr(J), 2)
 Next J
 Randomize
 For J = 1 To 65535
    Num = 60 * Rnd() \ 1
    If Num Mod 2 = 0 Then Num = Num + 1
    StrC = Mid(StrC, Num + 12, 200) & Mid(StrC, Num, 12) & Left(StrC, Num - 1)
 Next J
 For J = 1 To 100
    Cells(J, "A").Value = 1 + CByte(Mid(StrC, 2 * J - 1, 2)) \ 5
 Next J
End Sub
 
Bạn cứ ghi 5 lần 1-20 vảo mảng 100 phần tử. Sau đó dùng hàm xáo trộn ngẫu nhiên mảng.
Hàm xáo trộn mảng đã có vài lần trên diễn đàn này rồi.
 
Web KT

Bài viết mới nhất

Back
Top Bottom