Nhờ mọi người giúp đỡ về tạo nhóm

Liên hệ QC

nqdonghy90

Thành viên mới
Tham gia
29/5/13
Bài viết
7
Được thích
5
Tình hình thế này ạ. Em có 1 bảng gồm 27 nhóm, mỗi nhóm có 9 đối tượng ( từ A tới I), mỗi đối tượng có 1 giá trị tương ứng.
Nhờ mọi người giúp e tạo các nhóm lớn, mỗi nhóm lớn gồm 3 nhóm nhỏ sao cho tổng giá trị các đối tượng tương ứng của cả 3 nhóm là bằng nhau.
Chi tiết trong file đính kèm

P/s Cụ thể hơn là tìm được các nhóm gồm 3 nhóm nhỏ thỏa mãn điều kiện tổng giá trị các đối tượng A=B=C=D=E=F=23, và G=H=I=17.
 

File đính kèm

Lần chỉnh sửa cuối:
Tình hình thế này ạ. Em có 1 bảng gồm 27 nhóm, mỗi nhóm có 9 đối tượng ( từ A tới I), mỗi đối tượng có 1 giá trị tương ứng.
Nhờ mọi người giúp e tạo các nhóm lớn, mỗi nhóm lớn gồm 3 nhóm nhỏ sao cho tổng giá trị các đối tượng tương ứng của cả 3 nhóm là bằng nhau.
Chi tiết trong file đính kèm

Cho một vài kết quả giả định có lẽ sẽ dễ hiểu hơn
 
ví dụ trong bảng trên em tìm được 1 nhóm gồm 3 nhóm nhỏ là nhóm 0, 16 và 23, đặc điểm của nhóm này là tổng giá trị đối tượng A=B=C=D=E=F=23, và G=H=I=17.
 
ví dụ trong bảng trên em tìm được 1 nhóm gồm 3 nhóm nhỏ là nhóm 0, 16 và 23, đặc điểm của nhóm này là tổng giá trị đối tượng A=B=C=D=E=F=23, và G=H=I=17.

Theo ví dụ này: tổng giá trị các đối tượng là 17 hoặc 23 =>số lượng là 2 giá trị tổng
Vậy số lượng giá trị tổng này có giới hạn là 2 hay không
 
em muốn nhóm có cố định giá trị tổng là 2 giá trị như trên đó bác :-=

Kiểm tra kết quả cột AF nhé.
PHP:
Public Sub GPE()
Dim Arr(), dArr(1 To 1000, 1 To 1), j1 As Long, j2 As Long, j3 As Long, K As Long
Arr = Range("C3:AC11").Value
For j1 = 1 To UBound(Arr, 2) - 2
    For j2 = j1 + 1 To UBound(Arr, 2) - 1
        For j3 = j2 + 1 To UBound(Arr, 2)
            If Arr(1, j1) + Arr(1, j2) + Arr(1, j3) = 23 Then
            If Arr(2, j1) + Arr(2, j2) + Arr(2, j3) = 23 Then
            If Arr(3, j1) + Arr(3, j2) + Arr(3, j3) = 23 Then
            If Arr(4, j1) + Arr(4, j2) + Arr(4, j3) = 23 Then
            If Arr(5, j1) + Arr(5, j2) + Arr(5, j3) = 23 Then
            If Arr(6, j1) + Arr(6, j2) + Arr(6, j3) = 23 Then
            If Arr(7, j1) + Arr(7, j2) + Arr(7, j3) = 17 Then
            If Arr(8, j1) + Arr(8, j2) + Arr(8, j3) = 17 Then
            If Arr(9, j1) + Arr(9, j2) + Arr(9, j3) = 17 Then
                K = K + 1
                dArr(K, 1) = j1 - 1 & "-" & j2 - 1 & "-" & j3 - 1
            End If
            End If
            End If
            End If
            End If
            End If
            End If
            End If
            End If
        Next j3
    Next j2
Next j1
[AF3].Resize(K) = dArr
End Sub
 
Web KT

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

Back
Top Bottom