(help) nối chuỗi có điều kiện (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

pearlymy

Thành viên mới
Tham gia
5/12/08
Bài viết
38
Được thích
1
Em có file trăn trở mấy ngày này mà chưa tìm được đáp án
Mong mọi người giúp đỡ. Em cám ơn rất nhiều

[TABLE="class: outer_border, width: 500"]
[TR]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]SẢN PHẨM[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]ĐƠN GIA[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]SỐ LƯỢNG[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]SERI[/TD]
[/TR]
[/TABLE]
[/TD]
[/TR]
[TR]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]THẺ XANH[/TD]
[/TR]
[/TABLE]
[/TD]
[TD="align: center"]200[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: right"]4[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]X100-200[/TD]
[/TR]
[/TABLE]
[/TD]
[/TR]
[TR]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]THẺ ĐỎ[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: right"]100[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: right"]3[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]D20-43[/TD]
[/TR]
[/TABLE]
[/TD]
[/TR]
[TR]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]THẺ VÀNG[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: right"]190[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: right"]5[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]V20-34[/TD]
[/TR]
[/TABLE]
[/TD]
[/TR]
[TR]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]THẺ XANH[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: right"]210[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: right"]5[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]X204-209[/TD]
[/TR]
[TR]
[TD="width: 64, align: left"][/TD]
[/TR]
[/TABLE]
[/TD]
[/TR]
[TR]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]THẺ XANH[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: right"]200[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: right"]4[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]X300-301[/TD]
[/TR]
[/TABLE]
[/TD]
[/TR]
[TR]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]THẺ ĐỎ[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: right"]110[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: right"]3[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]D40-50[/TD]
[/TR]
[/TABLE]
[/TD]
[/TR]
[/TABLE]

đây là file tồn kho, khi hach toán vào chương trình kế toán, em cần diễn giải rút gọn theo từng sản phẩm

Đại khái, nó sẽ ra kết quả như vầy:
THẺ XANH, SERI: X100-200 (4 * 200 VND), X204 -209 (5 * 210 VND), X300-301 (4 * 200 VND), THẺ VÀNG SERI: V20-40 (5 * 190 VND), THẺ ĐỎ SERI: D20-43 (3*100 VND), D40-50 (3 * 110 VND)

Em xin chân thành cám ơn 1 lần nữa!
 

File đính kèm

Lần chỉnh sửa cuối:
Em có file trăn trở mấy ngày này mà chưa tìm được đáp án
Mong mọi người giúp đỡ. Em cám ơn rất nhiều

[TABLE="class: outer_border, width: 500"]
[TR]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]SẢN PHẨM[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]ĐƠN GIA[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]SỐ LƯỢNG[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]SERI[/TD]
[/TR]
[/TABLE]
[/TD]
[/TR]
[TR]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]THẺ XANH[/TD]
[/TR]
[/TABLE]
[/TD]
[TD="align: center"]200[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: right"]4[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]X100-200[/TD]
[/TR]
[/TABLE]
[/TD]
[/TR]
[TR]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]THẺ ĐỎ[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: right"]100[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: right"]3[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]D20-43[/TD]
[/TR]
[/TABLE]
[/TD]
[/TR]
[TR]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]THẺ VÀNG[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: right"]190[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: right"]5[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]V20-34[/TD]
[/TR]
[/TABLE]
[/TD]
[/TR]
[TR]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]THẺ XANH[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: right"]210[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: right"]5[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]X204-209[/TD]
[/TR]
[TR]
[TD="width: 64, align: left"][/TD]
[/TR]
[/TABLE]
[/TD]
[/TR]
[TR]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]THẺ XANH[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: right"]200[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: right"]4[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]X300-301[/TD]
[/TR]
[/TABLE]
[/TD]
[/TR]
[TR]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]THẺ ĐỎ[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: right"]110[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: right"]3[/TD]
[/TR]
[/TABLE]
[/TD]
[TD][TABLE="width: 64"]
[TR]
[TD="width: 64, align: left"]D40-50[/TD]
[/TR]
[/TABLE]
[/TD]
[/TR]
[/TABLE]

đây là file tồn kho, khi hach toán vào chương trình kế toán, em cần diễn giải rút gọn theo từng sản phẩm

Đại khái, nó sẽ ra kết quả như vầy:
THẺ XANH, SERI: X100-200 (4 * 200 VND), X204 -209 (5 * 210 VND), X300-301 (4 * 200 VND), THẺ VÀNG SERI: V20-40 (5 * 190 VND), THẺ ĐỎ SERI: D20-43 (3*100 VND), D40-50 (3 * 110 VND)

Em xin chân thành cám ơn 1 lần nữa!
Dùng UDF cho nó tiện
PHP:
Function NoiDung(Arr) As String
Dim i As Long
Arr = Arr
With CreateObject("Scripting.Dictionary")
    For i = 1 To UBound(Arr, 1)
        If Not .Exists(Arr(i, 1)) Then
            .Add Arr(i, 1), Arr(i, 1) & ", SERI: " & Arr(i, 4) & " (" & Arr(i, 3) & " * " & Arr(i, 2) & " VND)"
        Else
            .Item(Arr(i, 1)) = .Item(Arr(i, 1)) & ", " & Arr(i, 4) & " (" & Arr(i, 3) & " * " & Arr(i, 2) & " VND)"
        End If
    Next
    NoiDung = Join(.Items, "; ")
End With
End Function
 

File đính kèm

Dùng UDF cho nó tiện
PHP:
Function NoiDung(Arr) As String
Dim i As Long
Arr = Arr
With CreateObject("Scripting.Dictionary")
    For i = 1 To UBound(Arr, 1)
        If Not .Exists(Arr(i, 1)) Then
            .Add Arr(i, 1), Arr(i, 1) & ", SERI: " & Arr(i, 4) & " (" & Arr(i, 3) & " * " & Arr(i, 2) & " VND)"
        Else
            .Item(Arr(i, 1)) = .Item(Arr(i, 1)) & ", " & Arr(i, 4) & " (" & Arr(i, 3) & " * " & Arr(i, 2) & " VND)"
        End If
    Next
    NoiDung = Join(.Items, "; ")
End With
End Function

hay quá, cám ơn anh rất nhiều
VBA thiệt phi thường, em đang bập bõm học video trên youtube, không biết chừng nào mới giải quyết được mấy cái đơn giản vầy, chứ được như các anh chị ở đây chắc không dám mong gì
 
Web KT

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

Back
Top Bottom