utquyen2011
Thành viên mới
- Tham gia
- 28/8/12
- Bài viết
- 9
- Được thích
- 1
- Nghề nghiệp
- Chuyen vien CNTT
chỉnh hợp lặp chập k của n phần tử làDear anh,Em có xem và tìm hiều rồi nhưng em không làm được giống yêu cầu nhu bên trên.Nhờ anh xem giup em với .
Em cám ơn anh nhiều ạ.
Bạn dùng công thức này cho ô C4 sau đó copy cho các ô còn lạiEm có 1 yêu cầu là muốn liệt kê tất cả các giá trị chỉnh hợp củamột dãy số cho trước
Mng các anh chị giúp em với,em xin cám ơn rat nhiều.
Vi du:
Co 3 dieu kien A,B,C
Thì các gia tri có thể có là
A:Y ;B:Y;C:Y
A:Y;B:N;C:Y
A:Y;B:N;C:N
A:N;B:Y;C:N
A:N;B:Y;C:Y
A:N;B:N;C:N
A:Y;B:Y;C:N
A:N;N:N;C:Y
=CHOOSE(MID(DEC2BIN(COLUMN(A$1)-1,3),ROW($A1),1)+1,"Y","N")
Bạn dùng công thức này cho ô C4 sau đó copy cho các ô còn lại
Lưu ý: Số 3 là số điều kiện của bạn. Bạn thay đổi cho phù hợp với nhu cầu.Mã:=CHOOSE(MID(DEC2BIN(COLUMN(A$1)-1,3),ROW($A1),1)+1,"Y","N")
Muốn bao nhiêu điều kiện cũng được, số giá trị của mỗi điều kiện khác nhau cũng chơi luôn.Anh vui lòng cho em hỏi thêm tí nha anh:
Em có 1 bảng dữ liệu gồm N điều kiện,mỗi điều kiện có M giátrị.Excle có thể viết được công thức tổng quát các trường hợp có thể sảy ra chobảng điều kiện này được không ạ? Anh xemVí dụ cụ thể trong file đính kèm
Quay thì quay 2 bảng luôn cho công thức đỡ phức tạp.ket qua ok anh.Mình có thể cho kết quả sang hang ngang không anh?thay vi em phai copy/paste Transpose
Quay thì quay 2 bảng luôn cho công thức đỡ phức tạp.
Quay thì quay 2 bảng luôn cho công thức đỡ phức tạp.
Bài này tôi chỉ có thể làm bằng VBA thôi.sẵn tiện anh cho em hỏi chút về tổ hợp với
VD: em có 5 hàng đánh số 1,2,3,4,5. có hàm nào để xuất tổ hợp của 5 số số đó k a. cụ thể em muốn xuất ra: 12,13,14,15,23,24,25,34,35,45 mỗi cặp giá trị 1 ô
Public result() As Variant
Function Combinations(rng As Range, n As Single)
rng1 = rng.Value
ReDim result(n - 1, 0)
Call Recursive(rng1, n, 1, 0)
ReDim Preserve result(UBound(result, 1), UBound(result, 2) - 1)
Combinations = Application.Transpose(result)
End Function
Function Recursive(r As Variant, c As Single, d As Single, e As Single)
Dim f As Single
For f = d To UBound(r, 1)
result(e, UBound(result, 2)) = r(f, 1)
If e = (c - 1) Then
ReDim Preserve result(UBound(result, 1), UBound(result, 2) + 1)
For g = 0 To UBound(result, 1)
result(g, UBound(result, 2)) = result(g, UBound(result, 2) - 1)
Next g
Else
Call Recursive(r, c, f + 1, e + 1)
End If
Next f
End Function