Mình dùng code VBA tạo Function được không?KO BÁC NÀO GIÚP E Ạ.
@HieuCD Bác giúp em với?
a chờ em chút, anh làm công thức bình thường giúp em với ạ. Code là e không biết gì luôn ạMình dùng code VBA tạo Function được không?
Có phân biệt thứ tự không? ví dụ: gà lợn và lợn gà là 1 hay 2 khả năng?
Kết quả là con số thể hiện số cặp, hay liệt kê tất cả các cặp?
Các con số dòng thứ 2 là gì vậy?
Mình dùng code VBA tạo Function được không?
Có phân biệt thứ tự không? ví dụ: gà lợn và lợn gà là 1 hay 2 khả năng?
Kết quả là con số thể hiện số cặp, hay liệt kê tất cả các cặp?
Các con số dòng thứ 2 là gì vậy?
Bài toán rất hay, tiếc rằng 40 năm rồi không coi lại xác suất cổ điển nên quên hết, để mình tìm lớp học lạigà lợn hay lợn gà là như nhau? chỉ cần tìm ra có bao nhiêu cặp là được ạ
em gửi lại file cần giúp đỡ. bác xem điều kiện trực tiếp trên file và làm giúp em ạ
Em cảm ơn Anh Ạ!
Nếu chỉ cần tìm số cặpgà lợn hay lợn gà là như nhau? chỉ cần tìm ra có bao nhiêu cặp là được ạ
em gửi lại file cần giúp đỡ. bác xem điều kiện trực tiếp trên file và làm giúp em ạ
Em cảm ơn Anh Ạ!
Kết quả tính nhẩm 14CÁC BÁC GIÚP EM.
Chọn ra số lượng 5 con vật khác nhau ghép cặp với nhau, xem ra bao nhiêu cặp như thế?
View attachment 211785
Bài này dùng cột phụ có được hay là khônggà lợn hay lợn gà là như nhau? chỉ cần tìm ra có bao nhiêu cặp là được ạ
em gửi lại file cần giúp đỡ. bác xem điều kiện trực tiếp trên file và làm giúp em ạ
Em cảm ơn Anh Ạ!
Cột phụ, dòng phụ thoải máiBài này dùng cột phụ có được hay là không
Xem kỹ lại thì có lẽ dòng, cột cộng thêm số sheet thoải mái nữa mới được bác ạ.Cột phụ, dòng phụ thoải mái![]()
Cứ thêm thoải mái, bài nầy tuy khó nhưng giúp rèn khả năng phán đoán suy luận rất tốt, dùng code VBA cũng đượcXem kỹ lại thì có lẽ dòng, cột cộng thêm số sheet thoải mái nữa mới được bác ạ.
Làm tạm cho bạn bằng công thức, nhưng tính từng lần để xác định được cặp nào luôn (không sử dụng một công thức được), cách tính chọn cặp theo số lượng từ lớn tới nhỏ. Đang làm công thức cố định cho 3 nhóm, số cặp có thể thay đổi ở R1 nhưng phải lớn hơn hoặc bằng 3 cặp,sửa số lượng từng loại thì sửa ở dòng 5, kết quả là sum cột P lại.gà lợn hay lợn gà là như nhau? chỉ cần tìm ra có bao nhiêu cặp là được ạ
em gửi lại file cần giúp đỡ. bác xem điều kiện trực tiếp trên file và làm giúp em ạ
Em cảm ơn Anh Ạ!
Đêm qua ngủ ngon, nhớ máng máng có nàng tiên xinh đẹp mách nướcgà lợn hay lợn gà là như nhau? chỉ cần tìm ra có bao nhiêu cặp là được ạ
em gửi lại file cần giúp đỡ. bác xem điều kiện trực tiếp trên file và làm giúp em ạ
Em cảm ơn Anh Ạ!
Mình không để ý phân phối lần 2, cám ơn bạn, chúc bạn 1 sáng vuiLàm tạm cho bạn bằng công thức, nhưng tính từng lần để xác định được cặp nào luôn (không sử dụng một công thức được), cách tính chọn cặp theo số lượng từ lớn tới nhỏ. Đang làm công thức cố định cho 3 nhóm, số cặp có thể thay đổi ở R1 nhưng phải lớn hơn hoặc bằng 3 cặp,sửa số lượng từng loại thì sửa ở dòng 5, kết quả là sum cột P lại.
Theo cách tính này thì số liệu bạn đưa tính ra được 13 cặp, bạn HieuCD tính 14 cặp có thể cách tính này chưa tối ưu.
Bài đã được tự động gộp:
Trường hợp 2 bạn đưa, tôi tính 10 cặp bạn tính 8, tôi đếm lại 10 cặp vẫn đúng, bạn xem bảng phân bổ kết quả cho trường hợp 2.Đêm qua ngủ ngon, nhớ máng máng có nàng tiên xinh đẹp mách nước
Dùng cột phụ cho gọn, nếu thích thì tự gôm hết vào 1 công thức duy nhất
Bài đã được tự động gộp:
Mình không để ý phân phối lần 2, cám ơn bạn, chúc bạn 1 sáng vui
Thay số cực đoan một chút, kết quả trong file chưa hợp lý
Bài toán quá nhiều điều kiện, không biết còn sót điều kiện gì khôngTrường hợp 2 bạn đưa, tôi tính 10 cặp bạn tính 8, tôi đếm lại 10 cặp vẫn đúng, bạn xem bảng phân bổ kết quả cho trường hợp 2.
Sub abc_()
Dim Nguon
Dim Nhom
Dim SoLuong, MinSl
Dim Ten
Dim Tam
Dim DicTT As Object
Dim i, j, k, x, z, t
Set DicTT = CreateObject("Scripting.Dictionary")
Nguon = Sheet1.Range("d3:r4")
ReDim Nhom(1 To 3), SoLuong(1 To 3)
For i = 1 To 15 Step 5
For j = i To i + 4
If Nguon(2, j) > 0 Then
DicTT(Nguon(1, j)) = Array(Nguon(1, j), Nguon(2, j))
End If
Next j
k = k + 1
Nhom(k) = DicTT.items
SoLuong(k) = DicTT.Count
DicTT.RemoveAll
Next i
Sheet2.UsedRange.Clear
MinSl = UBound(Nguon, 2)
'Do While SoLuong(1) >= 0 And SoLuong(2) >= 0 And SoLuong(3) >= 0 And SoLuong(1) + SoLuong(2) + SoLuong(3) >= 4
Do While SoLuong(1) > 0 And SoLuong(2) > 0 And SoLuong(3) > 0 And SoLuong(1) + SoLuong(2) + SoLuong(3) > 4
ReDim Ten(1 To 3)
For j = 1 To UBound(Nhom)
k = 0
SoLuong(j) = 0
Tam = Nhom(j)
If MinSl > UBound(Tam) + 1 Then MinSl = UBound(Tam) + 1
ReDim Ds(UBound(Tam))
For i = 0 To UBound(Tam)
Ten(j) = Ten(j) & IIf(Ten(j) = "", "", "|") & Tam(i)(0)
Tam(i)(1) = Tam(i)(1) - 1
If Tam(i)(1) Then
Tam(k) = Tam(i)
k = k + 1
End If
Next i
If k Then
SoLuong(j) = k
ReDim Preserve Tam(k - 1)
Nhom(j) = Tam
End If
Next j
Sheet2.Range("A1000000").End(xlUp).Offset(1) = Replace(Ten(1), "|", ", ")
Sheet2.Range("B1000000").End(xlUp).Offset(1) = Replace(Ten(2), "|", ", ")
Sheet2.Range("C1000000").End(xlUp).Offset(1) = Replace(Ten(3), "|", ", ")
Sheet2.Range("E1000000").End(xlUp).Offset(1) = MinSl
Sheet2.Range("E1") = Sheet2.Range("E1") + MinSl
Loop
Sheet2.UsedRange.Columns.AutoFit
End Sub
Bác có thể giải thích cách tính co được khôngBài toán quá nhiều điều kiện, không biết còn sót điều kiện gì không
Hình như vẫn còn:Bài toán quá nhiều điều kiện, không biết còn sót điều kiện gì không