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 ô
Liệt kê danh sách Tổ hợp tạm cách này coi ổn không, hơi lằng nhằng chút. Cột A liệt kê tất cả phần từ 1 đến 5 (ví dụ A2:A6). Tìm 1 ô trống bất kỳ, tính số lượng tổ hợp chập 2 của 5 phần tử, gõ =COMBIN(5,2) ra kết quả 10, xóa đi. Nhớ sô 10 này để điền vào cột thứ B số thứ tự 1-10. Tiếp theo, cột C và D quét chọn 2 cột kéo xuống 10 dòng cho vừa bằng với 10 dòng của số thứ tự, tại ô đầu tiên của khối này nhập vào công thức vba =Combinations(A2:A6,2) Ctrl+Shift+Enter để kết thúc, sẽ thấy hiện ra tất cả kết quả chưa ghép cặp của A2:A6 trong 2 cột C và D. Cuối cùng chỉ việc sang cột E gõ vào công thức ghép kết quả cột C D bằng ký hiệu & là xongPublic 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