Sub DauCuoi()
Dim Sarr(), Darr(), Dau, cuoi, KyHieu, DL, Dk
Dim I As Long, J As Long, X As Long, Y As Long
Set DL = Sheets("daulieu")
Sarr = DL.Range(DL.[a15], DL.[A65536].End(3).Offset(1)).Resize(, 11).Value
ReDim Darr(1 To UBound(Sarr), 1 To 11)
KyHieu = GetUnique(Sarr)
For Y = 0 To UBound(KyHieu)
For I = 1 To UBound(Sarr)
If Sarr(I, 1) & Sarr(I, 2) = KyHieu(Y) Then
If Sarr(I, 3) < Dau Then Dau = Sarr(I, 3)
If Sarr(I, 3) > cuoi Then cuoi = Sarr(I, 3)
End If
Next I
For I = 1 To UBound(Sarr)
If Sarr(I, 1) & Sarr(I, 2) = KyHieu(Y) Then
If Sarr(I, 3) = Dau Or Sarr(I, 3) = cuoi Then
J = J + 1
For X = 1 To 11
Darr(J, X) = Sarr(I, X)
Next
End If
End If
Next
Dau = Empty: cuoi = Empty
Next
If J Then Sheets("ketqua").[L15].Resize(J, 11) = Darr
End Sub
Function GetUnique(Sarr())
Dim I As Long, Dk As String
With CreateObject("scripting.dictionary")
For I = 1 To UBound(Sarr)
Dk = Sarr(I, 1) & Sarr(I, 2)
If Not .exists(Dk) Then
.Add Dk, ""
End If
Next
GetUnique = .keys
End With
End Function