Nhờ viết code VBA để thống kê các số hay ra cùng nhau

Liên hệ QC

phithuongbatphu86

Thành viên mới
Tham gia
17/6/21
Bài viết
31
Được thích
0
Chào mọi người. Chả là mình đang làm file thống kê dữ liệu xổ số bằng excel. Mình đang cần thống kê các số hay ra cùng nhau trong số kỳ đã chọn. Mình thấy dùng hàm thì khó đáp ứng được yêu cầu. Không biết VBA có thể xử lý được không? Mình gửi file để mọi người tham khảo.
Xin cảm ơn mọi người!
 

File đính kèm

  • Tìm số.xlsx
    16.1 KB · Đọc: 82
Đối với các thiết bị quay số bây giờ thì độ chính xác của các "dự án" dự đoán kết quả xổ số cũng chỉ bằng với hàm RANDBETWEEN thôi bạn. Dùng luôn hàm RANDBETWEEN cho nó nhanh.
 
Upvote 0
Đối với các thiết bị quay số bây giờ thì độ chính xác của các "dự án" dự đoán kết quả xổ số cũng chỉ bằng với hàm RANDBETWEEN thôi bạn. Dùng luôn hàm RANDBETWEEN cho nó nhanh.
chưa hiểu ý bác lắm. Hàm randbeetwen là tạo bộ số ngẫu nhiên. Mình thì lại đang thống kê lại các số đã ra.
 
Upvote 0
Sổ số cũng là 1 dạng cờ bạc mà thôi; Nhưng mục tiêu là ích nước lợi nhà như bạn nói, nên nó khỏa lấp tính cờ bạc đi mà thôi;
Thực ra số đề bị cấm vì nó không đem lại lợi lộc cho số đông; chú cơ chế vận hành nó rẽ hơn sổ số nhiều!
 
Upvote 0
Cái này theo chính thống gọi là "lô tô 2 cặp số", dân gian gọi là "xiên đôi" phải không bạn.

Bài của bạn chỉ tính "lô tô 2 cặp số" thôi à?
xiên đôi là gì vậy bác? nghe như cờ bạc số đề vậy? tui đang thống kê bậc 2-3-4-5-6-7 của xổ số nhanh keno
 
Upvote 0
Ra vậy.
Cái này VBA làm được.
Ý nghĩa của "Bậc" là thế nà
Ra vậy.
Cái này VBA làm được.
Ý nghĩa của "Bậc" là thế nào
Trong keno có 80 số, 1 kỳ quay xổ 20 số. Người mua lựa chọn từ 1 số đến 10 số trong 80 số
- nếu chọn 1 số thì goi là bậc 1
- nếu chọn 2 số thì gọi là bậc 2
-....
- chọn 10 số gọi là bậc 10
 
Upvote 0
đây là xổ sổ ko phải cờ bạc. mà xổ sổ thì " ích nước lợi nhà"
Xổ số Vietlott là hình thức đánh bạc được nhà nước cấp phép và quản lý đặc biệt, lợi nhuận lớn vì người chơi thua nhiều hơn thắng, càng nghiên cứu cách chơi càng thua nhiều và lại lao vào cơn khát cờ bạc
 
Upvote 0
Xổ số Vietlott là hình thức đánh bạc được nhà nước cấp phép và quản lý đặc biệt, lợi nhuận lớn vì người chơi thua nhiều hơn thắng, càng nghiên cứu cách chơi càng thua nhiều và lại lao vào cơn khát cờ bạc
chuẩn bác. Nhưng suy cho cùng mọi hình thức đầu tư cũng đều rủi ro. Nếu nghiêm túc nghiên cứu thống kê, quan sát, biết kiểm soát trong phạm vi tài chính thì vẫn có thể kiếm được với tỷ suất lợi nhuận không thua kênh đầu tư chứng khoán
 
Upvote 0
/-)ầu tư chứng khoán phải biết & hiểu nhiều về thị trường & doanh nghiệp;
Còn chuyện sổ số này nếu ai đó đã thống kê được thì chả đến lượt chúng ta & tôi!
Dù sao cũng xin chúc bạn thành công hay dừng đúng lúc!
 
Upvote 0
Xổ số Vietlott là hình thức đánh bạc được nhà nước cấp phép và quản lý đặc biệt, lợi nhuận lớn vì người chơi thua nhiều hơn thắng, càng nghiên cứu cách chơi càng thua nhiều và lại lao vào cơn khát cờ bạc
Cái gì có đóng thuế là hợp pháp anh à.Nước mình cũng có vài cái Casino đang hoạt động mà.
 
Upvote 0
Cái gì có đóng thuế là hợp pháp anh à.Nước mình cũng có vài cái Casino đang hoạt động mà.
Việt nam không chỉ vài cái mà khá nhiều Casino, về luật chính thức cấm người dân Việt đánh bạc, nhưng thực tế làm ngơ giả bộ không biết khá nhiều
Có nhiều thứ ngày nay hợp pháp ngày mai lại bất hợp pháp
 
Upvote 0
Việt nam không chỉ vài cái mà khá nhiều Casino, về luật chính thức cấm người dân Việt đánh bạc, nhưng thực tế làm ngơ giả bộ không biết khá nhiều
Có nhiều thứ ngày nay hợp pháp ngày mai lại bất hợp pháp
sao lại bàn luận về việc hợp pháp hay không hợp pháp nhỉ? Ví dụ: con dao là chỉ là công cụ, dùng nó để gọt trái cây, thái thịt thì nó là công cụ nhà bếp ( hợp pháp). Dùng nó giết người thì bất hợp pháp. Hợp pháp hay bất hợp pháp là ý thức người sử dụng và quan điểm cảu nhà cầm quyền. Còn mình đơn giản chỉ cần thống kê thôi mà nhỉ
 
Upvote 0
Ở Việt nam chỉ có Vietlott là của chính phủ, có "mục đích" (*1)
Keno là nhà thầu xin giấy phép tổ chức. Họ chỉ đóng thuế. Về cách chơi thì giống xổ số. Nhưng sổ số quốc gia thì đã định sẵn mức phần trăm cho "mục đích". Keno thì cách phân bổ đồng tiền thì cũng như một doanh nghiệp.

(*1) tin vào cái mục đích đó hay không là chuyện khác

Xổ số Vietlott là hình thức đánh bạc được nhà nước cấp phép và quản lý đặc biệt, lợi nhuận lớn vì người chơi thua nhiều hơn thắng, càng nghiên cứu cách chơi càng thua nhiều và lại lao vào cơn khát cờ bạc
Tuy người thua nhiều, nhưng Vietlott là của chính phủ cho nên có thể dùng câu "ích nước lợi nhà". Keno thì khác hẳn.
Thường thì Keno là trò chơi cá nhân. Nhưng cũng có những nhóm gom tiền chơi rất bạo. Ỏ Bắc Mỹ (Canada và US), Keno là nguồn lợi lớn cho các quán mở dưới hình thức câu lạc bộ (club) (*2).

(*2) Keno đợc nhà thầu lớn bao hết. Các clubs có giấy phép thì chỉ là đại lý lãnh hoa hồng thep số thu, số chi bên thầu chịu.

(*3) Tôi nhớ có lần ghé LA, thằng cháu họ dẫn tôi đến một club người Việt uống cà phê. Tiếp viên ăn mặc thật xếch xy, phần lớn là mấy cô Việt đi du học kiếm tiền thêm. Nhưng nguồn lợi chính của club không phải ở cà phê, mà là ở Keno, các trò cờ bạc điện tử khác. Hồi ấy, trò chơi Roulette điện tử rất nổi.

(*4) trên nguyên tắc toán xác suất thì thống kê con số hoàn toàn chả có nghĩa lý gì. Vì mỗi lần xổ hoàn toàn độc lập với các lần khác.
Nhưng trên thực tế thì con người bao giờ cũng có trí tưởng tượng cao, và rất dễ tin vào luật "đi cặp". Nếu bạn làm được một cái bảng tính "đi cặp" thì sẽ dễ dàng quy tụ được nhiều người hùn đánh lớn. Mà dân máu mê thì phải đánh lớn nó mới đã. Tôi từng thấy mấy nhóm đánh hằng chục ngàn đô la vào mỗi lượt xổ. Dĩ nhiên là thành viên trong các nhóm này, cứ một vài tuần là thấy có chuyện cầm bán này nọ - thường là xe hơi, đồng hồ, dây chuyền, lắc vàng.
Thường thường thì trước khi gia nhập nhóm sẽ được "nhóm trưởng" giảng một mớ quy luật:
- đánh là tự nguyện, không ai bắt buộc.
- tiền là tiền mặt, không lấy check, không thiếu chịu.
- cấm nhặt chuyện mượn tiền nhau trong cuộc chơi. (nếu muốn mượn tiền thì đưa nhau ra riêng, tự thoả thuận, không dựa vào các thành viên khác làm chứng - mục đích là tránh cãi vả, liên luỵ sau này)
 
Upvote 0
Trong keno có 80 số, 1 kỳ quay xổ 20 số. Người mua lựa chọn từ 1 số đến 10 số trong 80 số
- nếu chọn 1 số thì goi là bậc 1
- nếu chọn 2 số thì gọi là bậc 2
-....
- chọn 10 số gọi là bậc 10
Bấm nút trong file đính kèm.
Bạn có thể giải thích cách sử dụng kết quả tính toán này?

---
Code dưới đây ưu tiên lấy các cặp đạt yêu cầu có số lượng dòng nhiều nhất
Mã:
Option Explicit

Sub xxx()
Dim Nguon
Dim Thongke, Spt
Dim Tam, Mang0, Mang1, csD
Dim bac, chuky, cap
Dim congSl, ghSl
Dim Kq
Dim rws, i, j, k, x, z, t

With Sheet1
    bac = .Range("B3")
    chuky = .Range("C3")
    cap = .Range("D3")
End With

Spt = 80
ReDim Tam(1 To Spt)
With Sheet2
    Thongke = .Range("C2", .Range("C2").End(xlToRight).End(xlDown))
    rws = UBound(Thongke)
    ReDim Nguon(1 To rws)
    For i = 1 To rws
        For j = 1 To UBound(Thongke, 2)
            Tam(Thongke(i, j)) = Thongke(i, j)
        Next j
        Nguon(i) = Tam
        For j = 1 To Spt
            Tam(j) = 0
        Next j
    Next i
End With

If chuky > rws Or cap = 0 Then
    MsgBox "Xem lai chu ky"
    Exit Sub
End If
ghSl = cap * bac
With CreateObject("Scripting.Dictionary")
    ReDim csD(1 To chuky)
    For i = 1 To chuky
        csD(1) = i
        .Item(.Count) = Array(1, csD, Nguon(i))
    Next i

    Do While .Count > 0
        Thongke = .items
        .RemoveAll
        t = t + 1
        For i = 0 To UBound(Thongke)
            k = Thongke(i)(0)
            csD = Thongke(i)(1)
            Mang0 = Thongke(i)(2)
           
            If csD(k) + 1 <= chuky Then
                For j = csD(k) + 1 To chuky
                    congSl = 0
                    Mang1 = Nguon(j)
                    For z = 1 To Spt
                        If Mang0(z) > 0 And Mang1(z) > 0 Then
                            congSl = congSl + 1
                            Tam(z) = z
                        End If
                    Next z
                    If congSl >= ghSl Then
                        csD(k + 1) = j
                        .Item(.Count) = Array(k + 1, csD, Tam, congSl)
                    End If
                    For z = 1 To Spt
                        Tam(z) = 0
                    Next z
                Next j
            End If
        Next i
    Loop
End With

ReDim Kq(1 To UBound(Thongke) + 1, 1 To 2)
Sheet1.Range("H3").Resize(rws * rws, UBound(Kq, 2)).Clear
If t > 1 Then
    For i = 0 To UBound(Thongke)
        k = 0
        Mang0 = Thongke(i)(2)
        csD = Thongke(i)(1)
        Kq(i + 1, 1) = Application.Trim(Join(csD))
        Kq(i + 1, 2) = Application.Trim(Replace(Join(Mang0), "0", ""))
    Next i
   
    Sheet1.Range("H3").Resize(UBound(Kq), UBound(Kq, 2)) = Kq
    Sheet1.UsedRange.Columns.AutoFit
Else
    MsgBox "Khong co cap nao"
End If
End Sub
 

File đính kèm

  • Tim so.xlsb
    32.1 KB · Đọc: 106
Upvote 0
!Tôi đã sử dụng bảng tính đánh số đề cách đây 3 năm. Tôi tải xuống tất cả lịch sử sổ số trong vòng 2 năm gần nhất. Lập bảng đánh giá theo hệ thống. Đặt quy tắc và các phương pháp luận để đưa ra con những con số an toàn để đánh. Một vài ví dụ theo cách suy luận riêng tôi: 2 số hàng đầu và 2 số hàng đặc biệt không thể giống nhau, trong hai ngày liên tiếp đặc biệt không ra lại, đặc biệt miền nam không giống đặc biệt miền bắc trong cùng 1 ngày....v...v.... Đầu tiên tôi đánh nguội, nghĩa là tôi tự xem mình là người chơi. Tôi dùng bảng tính đấy và chọn ra được gần bốn chục số, Tôi tự đánh và kiểm tra kết quả cuối những buổi chiều trời hè trong xanh. Suốt một tháng liên tục như vậy! Vào một ngày cuối mùa hè bầu trời u ám. Tôi phát hiện ra rằng nó là trò chơi có thể gặp rủi ro. Không có quy tắc nào áp dụng cho nó được cả. Tôi đã tìm tòi, mất thời gian vắt óc, đặt ra các quy luật tạo bảng tính toán mất 6 tháng. Tôi đã mất 6 tháng cho việc vô bổ. Nhưng bù đắp lại, tôi thành thạo một số hàm trong excel và biết một số ít về VBA. Vì vậy, tôi áp dụng kiến thức đó làm việc khác tốt hơn. Nếu bạn có một ý tưởng thiết lập một phương pháp lập luận, thông kê, quy tắc chạy bằng VBA để đánh sổ số. Đó là một y tưởng điên rồ! Tôi không cản bạn. Nhưng mong rằng khi bạn có bảng tính rồi. Hãy đánh nguội trước bạn nhé! Chúc bạn thành công. Tôi luôn thích những người có ý tưởng điên rồ.
 
Lần chỉnh sửa cuối:
Upvote 0
!Tôi đã sử dụng bảng tính đánh số đề cách đây 3 năm. Tôi tải xuống tất cả lịch sử sổ số trong vòng 2 năm gần nhất. Lập bảng đánh giá theo hệ thống. Đặt quy tắc và các phương pháp luận để đưa ra con những con số an toàn để đánh. Một vài ví dụ theo cách suy luận riêng tôi: 2 số hàng đầu và 2 số hàng đặc biệt không thể giống nhau, trong hai ngày liên tiếp đặc biệt không ra lại, đặc biệt miền nam không giống đặc biệt miền bắc trong cùng 1 ngày....v...v.... Đầu tiên tôi đánh nguội, nghĩa là tôi tự xem mình là người chơi. Tôi dùng bảng tính đấy và chọn ra được gần bốn chục số, Tôi tự đánh và kiểm tra kết quả cuối những buổi chiều trời hè trong xanh. Suốt một tháng liên tục như vậy! Vào một ngày cuối mùa hè bầu trời u ám. Tôi phát hiện ra rằng nó là trò chơi có thể gặp rủi ro. Không có quy tắc nào áp dụng cho nó được cả. Tôi đã tìm tòi, mất thời gian vắt óc, đặt ra các quy luật tạo bảng tính toán mất 6 tháng. Tôi đã mất 6 tháng cho việc vô bổ. Nhưng bù đắp lại, tôi thành thạo một số hàm trong excel và biết một số ít về VBA. Vì vậy, tôi áp dụng kiến thức đó làm việc khác tốt hơn. Nếu bạn có một ý tưởng thiết lập một phương pháp lập luận, thông kê, quy tắc chạy bằng VBA để đánh sổ số. Đó là một y tưởng điên rồ! Tôi không cản bạn. Nhưng mong rằng khi bạn có bảng tính rồi. Hãy đánh nguội trước bạn nhé! Chúc bạn thành công. Tôi luôn thích những người có ý tưởng điên rồ.

Bấm nút trong file đính kèm.
Bạn có thể giải thích cách sử dụng kết quả tính toán này?

---
Code dưới đây ưu tiên lấy các cặp đạt yêu cầu có số lượng dòng nhiều nhất
Mã:
Option Explicit

Sub xxx()
Dim Nguon
Dim Thongke, Spt
Dim Tam, Mang0, Mang1, csD
Dim bac, chuky, cap
Dim congSl, ghSl
Dim Kq
Dim rws, i, j, k, x, z, t

With Sheet1
    bac = .Range("B3")
    chuky = .Range("C3")
    cap = .Range("D3")
End With

Spt = 80
ReDim Tam(1 To Spt)
With Sheet2
    Thongke = .Range("C2", .Range("C2").End(xlToRight).End(xlDown))
    rws = UBound(Thongke)
    ReDim Nguon(1 To rws)
    For i = 1 To rws
        For j = 1 To UBound(Thongke, 2)
            Tam(Thongke(i, j)) = Thongke(i, j)
        Next j
        Nguon(i) = Tam
        For j = 1 To Spt
            Tam(j) = 0
        Next j
    Next i
End With

If chuky > rws Or cap = 0 Then
    MsgBox "Xem lai chu ky"
    Exit Sub
End If
ghSl = cap * bac
With CreateObject("Scripting.Dictionary")
    ReDim csD(1 To chuky)
    For i = 1 To chuky
        csD(1) = i
        .Item(.Count) = Array(1, csD, Nguon(i))
    Next i

    Do While .Count > 0
        Thongke = .items
        .RemoveAll
        t = t + 1
        For i = 0 To UBound(Thongke)
            k = Thongke(i)(0)
            csD = Thongke(i)(1)
            Mang0 = Thongke(i)(2)
          
            If csD(k) + 1 <= chuky Then
                For j = csD(k) + 1 To chuky
                    congSl = 0
                    Mang1 = Nguon(j)
                    For z = 1 To Spt
                        If Mang0(z) > 0 And Mang1(z) > 0 Then
                            congSl = congSl + 1
                            Tam(z) = z
                        End If
                    Next z
                    If congSl >= ghSl Then
                        csD(k + 1) = j
                        .Item(.Count) = Array(k + 1, csD, Tam, congSl)
                    End If
                    For z = 1 To Spt
                        Tam(z) = 0
                    Next z
                Next j
            End If
        Next i
    Loop
End With

ReDim Kq(1 To UBound(Thongke) + 1, 1 To 2)
Sheet1.Range("H3").Resize(rws * rws, UBound(Kq, 2)).Clear
If t > 1 Then
    For i = 0 To UBound(Thongke)
        k = 0
        Mang0 = Thongke(i)(2)
        csD = Thongke(i)(1)
        Kq(i + 1, 1) = Application.Trim(Join(csD))
        Kq(i + 1, 2) = Application.Trim(Replace(Join(Mang0), "0", ""))
    Next i
  
    Sheet1.Range("H3").Resize(UBound(Kq), UBound(Kq, 2)) = Kq
    Sheet1.UsedRange.Columns.AutoFit
Else
    MsgBox "Khong co cap nao"
End If
End Sub
bác có thể hình dung tôi đang muốn tạo 1 file excel tương tự như thế này nhưng ở dạng đơn giản hơn
 

File đính kèm

  • ảnh.jpg
    ảnh.jpg
    91 KB · Đọc: 63
Upvote 0
Web KT
Back
Top Bottom