Bài này dữ liệu ít thì dùng công thức, nếu nhiều thì "chơi" VBA cho nhẹ nhàng nhé bạnMình có ví dụ như bài gởi bạn nào có thể làm được xin chỉ giáo dùm!
Cảm ơn các bạn rất nhiều.
Em hỏi thêm chút nữa nếu muốn dữ liệu hiện như trong bảng này thì sửa hàm thế nào ạ!
Hàm Small làm...bậy zồiNếu trường hợp này thì sao ?
Các bạn xem dùm volga với ,khong hiẻu sai chổ nào ?
Mình có ví dụ như bài gởi bạn nào có thể làm được xin chỉ giáo dùm!
Cảm ơn các bạn rất nhiều.
Nếu dữ liệu vừa phải (khoảng vài trăm dòng) thì bạn làm theo cách này thử coi.Em muốn trích lọc ra tên khách hàng đã mua loại sản phẩm đó thì làm như thế nào? Các anh/chị xem và giúp dùm em với. Thanks
Mảng+Dic+Củ chuối=Tả Pín Lù.Sư phụ cocogia hãy giúp em cách VBA của bài 1 với, bài toán của em cũng tương tự, dữ liệu rất nhiều.
Bạn thử code này vào bài 1 xem saoSư phụ cocogia hãy giúp em cách VBA của bài 1 với, bài toán của em cũng tương tự, dữ liệu rất nhiều.
Public Sub LocLocXepXep()
Dim Vung, I, K, d, iMax, Mg, A
Vung = Range([A3], [A1000].End(xlUp)).Resize(, 3)
Set d = CreateObject("scripting.dictionary")
ReDim Mg(1 To UBound(Vung), 1 To 2)
For I = 1 To UBound(Vung)
If Not d.exists(Vung(I, 1)) Then
K = K + 1
d.Add Vung(I, 1), Array(K, 2)
Mg(K, 1) = Vung(I, 1): Mg(K, 2) = Vung(I, 3)
Else
A = d.Item(Vung(I, 1))
A(1) = A(1) + 1
If iMax < A(1) Then
iMax = A(1)
ReDim Preserve Mg(1 To UBound(Vung), 1 To iMax)
Mg(A(0), iMax) = Vung(I, 3)
d.Item(Vung(I, 1)) = Array(A(0), iMax)
Else
Mg(A(0), A(1)) = Vung(I, 3)
d.Item(Vung(I, 1)) = Array(A(0), A(1))
End If
End If
Next I
[G10].Resize(K, iMax) = Mg
End Sub
=IF(COLUMN(A:A)>COUNT(hang);"";INDEX(data;SMALL(hang;COLUMN(A:A))))