lọc dữ liệu

Liên hệ QC

starvnn

Thành viên mới
Tham gia
13/6/20
Bài viết
1
Được thích
0
Các anh chị xem giúp em với ạ, so giá trị cột c với cột b nếu trùng thì cho giá trị tại cột A tương ứng tại cột D, thank all
 

File đính kèm

  • Book1.xlsx
    8.7 KB · Đọc: 4
Các anh chị xem giúp em với ạ, so giá trị cột c với cột b nếu trùng thì cho giá trị tại cột A tương ứng tại cột D, thank all
Bạn thử xem đúng không nhé.
Mã:
Function laydulieu(ByVal mang1 As Range, ByVal mang2 As Range) As Variant
        Dim arr, kq() As String, i As Long, j As Long, dic As Object, dk As String
        Set dic = CreateObject("scripting.dictionary")
        arr = mang1.Value
        For i = 1 To UBound(arr, 1)
            dk = arr(i, 2)
            If Not dic.exists(dk) Then
               dic.Add dk, arr(i, 1)
            Else
               dic.Item(dk) = dic.Item(dk) & "#" & arr(i, 1)
            End If
        Next i
        arr = mang2.Value
        ReDim kq(1 To UBound(arr), 1 To 1)
        For i = 1 To UBound(arr, 1)
            dk = arr(i, 1)
            If dic.exists(dk) Then
               kq(i, 1) = dic.Item(dk)
            End If
        Next i
        laydulieu = kq()
End Function
Mã:
=laydulieu(A3:B6,C3:C10)
 

File đính kèm

  • Book1 (1).xlsm
    15.4 KB · Đọc: 9
Web KT
Back
Top Bottom