Lấy về nhiều giá trị và đưa kết quả vào cùng một ô

Giả sử bạn có một bảng ứng dụng như hình dưới

 

 

\"hinh1\"1

 

Làm thế nào để lấy tất cả những giá trị trong cột B tương ứng trong ô C2 rồi đưa vào ô D2 . Trong ví dụ trên ô C2 có chứa nội dung là AD1 và AD5 , lấy những giá trị tương ứng ở AD1 trong cột B và tương ứng AD5 trong cột B rồi để vào ô D2 .

Để làm được việc đó bạn nên dùng hàm công thức , cách thức như sau .

Trong Excel bấm tổ hợp phím Alt-F11 để mở cửa số Microsoft Visual Basic .

Trong Microsoft Visual Basic , chọn menu Insert > Module , bạn sao chép nội dung chữ đậm màu tím bên dưới

 

Function Lookup_concat(Search_string As String, Search_in_col As Range, Return_val_col As Range)

Dim i As Long, result As String

Dim Search_strings, Value As Variant

Search_strings = Split(Search_string, \";\")

For Each Value In Search_strings

   For i = 1 To Search_in_col.Count

     If Search_in_col.Cells(i, 1) = Value Then

       result = result & \" \" & Return_val_col.Cells(i, 1).Value

     End If

   Next i

Next Value

Lookup_concat = Trim(result)

End Function

 

Quay trở lại Excel .

Tại ô D2 bạn gõ công thức như sau

=lookup_concat(C2,A2:A10,B2:B10)

 

\"hinh2\"

 

Ta sẽ được kết quả như hình trên .

Nếu ô C2 chỉ có chứa một giá trị , ví dụ như AD2 bạn vẫn sẽ có được kết quả như ý .

Nếu như bảng dữ liệu trong Sheet khác thì chỉ cần thêm tên Sheet là được , ví dụ như

=lookup_concat(A2, Sheet2!A2:A10, Sheet2!B2:B10)