Mục lục
Khi làm việc với một lượng lớn dữ liệu trong Excel, đôi khi bạn có thể gặp phải tình huống cần tra cứu các giá trị xuất hiện nhiều lần trong tập dữ liệu của mình. Vì vậy, bạn phải xem những dữ liệu đó trong một ô. Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách sử dụng hàm VLOOKUP cho nhiều giá trị trong một ô trong Excel.
Nói chung, chúng tôi không trực tiếp sử dụng hàm VLOOKUP ở đây. Chúng ta sẽ tìm nhiều giá trị trong một ô tương tự như hàm VLOOKUP. Chúng tôi hy vọng bạn sẽ thấy hướng dẫn này hữu ích.
Tải xuống Sách bài tập thực hành
Vlookup Nhiều giá trị trong một ô.xlsm2 Phương pháp dễ dàng để Vlookup cho Nhiều giá trị trong một ô
Bây giờ, chúng tôi sẽ chỉ cho bạn 2 cách để tra cứu nhiều giá trị trong một ô trong Excel. Cái đầu tiên đang sử dụng Công thức và cái thứ hai đang sử dụng mã VBA . Chúng ta sẽ tra cứu cả giá trị lặp lại và không lặp lại trong bài viết này. Vì vậy, bạn có thể chọn phương pháp phù hợp nhất tùy theo vấn đề của mình.
Để chứng minh vấn đề này, chúng tôi sẽ sử dụng tập dữ liệu sau:
Ở đây, chúng ta có Tên của một số nhân viên bán hàng và Sản phẩm đang bán của họ. Bây giờ, mục tiêu của chúng ta là tìm các sản phẩm bán chạy của từng nhân viên bán hàng.
1. Sử dụng Công thức để Vlookup Nhiều Giá trị trong Một Ô trong Excel
Hàm TEXTJOIN sẽ là chức năng tiếp theo của chúng tôi đểthực hiện phương pháp này. Hàm TEXTJOIN cho phép bạn nối 2 hoặc nhiều chuỗi lại với nhau với mỗi giá trị được phân tách bằng dấu phân cách . Về cơ bản, chúng tôi đang kết hợp các hàm khác nhau với hàm TEXTJOIN để triển khai công thức của mình.
Hàm TEXTJOINchỉ khả dụng cho Excel 2019 và Office 365.Cú pháp cơ bản của Hàm TEXTJOIN:
=TEXTJOIN(delimiter, ignore_empty, text1, [text2], …)
Ở đây, dấu phân cách của chúng ta sẽ là dấu phẩy ( “,”
) để phân tách các giá trị trong một ô.
1.1 Hàm TEXTJOIN và IF
Bây giờ, công thức này khá dễ sử dụng. Công thức này sẽ tra cứu các giá trị và cũng chèn chúng vào một ô bằng dấu phân cách, dấu phẩy. Tuy nhiên, hãy nhớ rằng công thức này sẽ trả về giá trị trùng lặp.
Cú pháp cơ bản:
=TEXTJOIN(", ",TRUE,IF(lookup_value=lookup_range,,finding_range,""))
📌 Các bước
1. Đầu tiên, nhập công thức sau vào Ô F5 :
=TEXTJOIN(", ",TRUE,IF(E5=B5:B13,C5:C13,""))
2. Sau đó, nhấn Enter.
3. Cuối cùng, kéo biểu tượng Fill Handle trên phạm vi ô F6:F7 .
Cuối cùng, chúng ta đã thành công để sử dụng Vlookup nhiều giá trị trong một ô.
🔎 Phân tích công thức
Chúng tôi chỉ sử dụng bảng phân tích này cho người “John”
➤ IF(E5=B5:B13,C5:C13,"")
Hàm này trả về mảng sau:
{"Mobile";"";"";"TV";"";"Fridge";"";"Mobile";""}
➤ TEXTJOIN(", ",TRUE,IF(E5=B5:B13,C5:C13,""))
Cuối cùng, hàm TEXTJOIN sẽ trả về kết quả như saukết quả:
{Mobile, TV, Fridge, Mobile}
Đọc thêm: Excel VLOOKUP để trả về nhiều giá trị trong một ô được phân tách bằng dấu phẩy
1.2 Hàm TEXTJOIN và MATCH (Không trùng lặp)
Bây giờ, nếu bạn muốn có nhiều giá trị trong một ô, bạn có thể sử dụng công thức này. Công thức này là sự kết hợp của các hàm TEXTJOIN và MATCH . Công thức này hơi phức tạp để sử dụng nhưng chắc chắn nó sẽ mang lại giá trị bạn mong muốn.
📌 BƯỚC
1. Đầu tiên, nhập công thức sau vào Ô F5 :
=TEXTJOIN(",", TRUE, IF(IFERROR(MATCH(C5:C13, IF(E5=B5:B13, C5:C13, ""), 0),"")=MATCH(ROW(C5:C13), ROW(C5:C13)), C5:C13, ""))
2. Sau đó, nhấn Enter.
3. Cuối cùng, kéo biểu tượng Fill Handle trên phạm vi ô F6:F7 .
Cuối cùng, chúng ta đã thành công để sử dụng VLOOKUP nhiều giá trị trong một ô mà không có bất kỳ giá trị trùng lặp nào.
🔎 Phân tích Công thức
Chúng tôi chỉ sử dụng phân tích này cho người “John”
➤ ROW(C5:C13)
Nó trả về một mảng {5;6;7;8;9;10;11;12;13}
➤ MATCH(ROW(C5:C13), ROW(C5:C13))
Nó trả về: {1;2;3;4;5;6;7;8;9}
➤ IF(E5=B5:B13, C5:C13, "")
Hàm trả về: {"Mobile";"";"";"TV";"";"Fridge";"";"Mobile";""}
➤ MATCH(C5:C13, IF(E5=B5:B13, C5:C13, "")
Hàm này trả về: {8;8;7;9;7;7;7;8;7}
➤ IFERROR(MATCH(C5:C13, IF(E5=B5:B13, C5:C13, ""), 0),"")
Nó trả về: {1;1;"";4;"";6;"";1;""}
➤ IF(IFERROR(MATCH(C5:C13, IF(E5=B5:B13, C5:C13, ""), 0),"")=MATCH(ROW(C5:C13), ROW(C5:C13)), C5:C13, "")
Nó trả về: {"Mobile";"";"";"TV";"";"Fridge";"";"";""}
➤ TEXTJOIN(",", TRUE, IF(IFERROR(MATCH(C5:C13, IF(E5=B5:B13, C5:C13, ""), 0),"")=MATCH(ROW(C5:C13), ROW(C5:C13)), C5:C13, ""))
Đầu ra cuối cùng sẽ là Di động, TV, Tủ lạnh .
Đọc thêm: Cách thực hiện VLOOKUP với nhiều hàng trong Excel (5 phương pháp)
1.3 CácHàm TEXTJOIN và UNIQUE (Không trùng lặp)
Hiện tại, hàm UNIQUE chỉ khả dụng trong Excel 365. Vì vậy, nếu bạn đang sử dụng Excel 365 thì bạn hoàn toàn có thể sử dụng công thức này. Công thức trước hơi khó một chút nhưng công thức này sẽ giúp bạn dễ dàng tìm kiếm các giá trị trong một ô. Hàm UNIQUE trả về một danh sách các giá trị duy nhất trong một danh sách hoặc phạm vi. Bây giờ, sự khác biệt giữa công thức thứ nhất và công thức thứ ba là sử dụng hàm UNIQUE trước hàm IF .
Cú pháp cơ bản của hàm UNIQUE:
=UNIQUE (array, [by_col], [exactly_once])
mảng – Phạm vi hoặc mảng để trích xuất các giá trị duy nhất từ đó.
by_col – [tùy chọn] Cách so sánh và trích xuất. Theo hàng = FALSE (mặc định); theo cột = TRUE.
exactly_once – [tùy chọn] TRUE = các giá trị xảy ra một lần, FALSE= tất cả các giá trị duy nhất (mặc định)
📌 BƯỚC
1. Đầu tiên, nhập công thức sau vào Ô F5 :
=TEXTJOIN(", ",TRUE,UNIQUE(IF(E5=B5:B13,C5:C13,"")))
2. Sau đó, nhấn Enter.
3. Cuối cùng, kéo biểu tượng Fill Handle trên phạm vi ô F6:F7.
Như bạn có thể thấy, chúng ta có đã sử dụng thành công Vlookup nhiều giá trị trong một ô.
🔎 Phân tích công thức
Chúng tôi chỉ sử dụng bảng phân tích này cho người “John”
➤ IF(E5=B5:B13,C5:C13,"")
Số này trả về {"Mobile";"";"";"TV";"";"Fridge";"";"Mobile";""}
➤ UNIQUE(IF(E5=B5:B13,C5:C13,""))
Nótrả về {"Mobile";"";"TV";"Fridge"}
➤ TEXTJOIN(", ",TRUE,UNIQUE(IF(E5=B5:B13,C5:C13,"")))
Kết quả cuối cùng Di động,TV,Tủ lạnh
Đọc thêm: Cách Vlookup và trả về nhiều giá trị trong danh sách thả xuống
2. Sử dụng mã VBA để Vlookup nhiều giá trị trong một ô
Hàm TEXTJOIN chỉ khả dụng cho MS Excel 2019 và MS Excel 365 . Vì vậy, nếu bạn đã rành về các mã VBA của Excel thì 2 mã này sẽ rất thiết thực cho bạn. Cái đầu tiên sẽ có các bản sao và cái thứ hai sẽ không có bản sao. Vì vậy, hãy chọn phương pháp tùy theo vấn đề của bạn.
2.1 Mã VBA Nhiều Giá trị trong Một Ô
📌 CÁC BƯỚC
1. Ngày thứ nhất. Nhấn Alt+F11 để mở Trình soạn thảo Visual Basic.
2. Sau đó, nhấp vào Chèn > Mô-đun .
3. Tiếp theo, nhập mã sau:
7291
4. Bây giờ, đi đến bảng tính của bạn. Sau đó, nhập công thức sau vào Ô F5 :
=MultipleValues(B5:B13,E5,C5:C13,",")
5. Sau đó, nhấn ENTER.
6. Cuối cùng, kéo biểu tượng Fill Handle trên phạm vi ô F6:F7.
Cuối cùng, chúng ta đã sử dụng VLOOKUP nhiều giá trị trong một ô .
Đọc thêm: Vlookup để trả về nhiều giá trị theo chiều ngang trong Excel
2.2 VBA Mã để TÌM KIẾM Nhiều giá trị trong một ô (Không có giá trị trùng lặp)
📌 BƯỚC
1. Ngày thứ nhất. Nhấn Alt+F11 để mở Trình soạn thảo Visual Basic.
2. Sau đó,nhấp vào Chèn > Mô-đun .
3. Tiếp theo, nhập mã sau:
4236
4. Sau khi chèn mã, hãy nhấp vào Công cụ > References trong cửa sổ Microsoft Visual Basic for Applications đã mở, sau đó, trong hộp thoại bật ra References – VBAProject, hãy chọn tùy chọn Microsoft Scripting Runtime trong Tham khảo có sẵn hộp danh sách. Nhấp vào OK .
5. Bây giờ, đi đến bảng tính của bạn. Sau đó, nhập công thức sau vào Ô F5 :
=ValuesNoDup(E5,B5:B13,2)
Ở đây, 2 là số cột của tập dữ liệu.
6. Sau đó, nhấn Enter .
7. Cuối cùng, kéo biểu tượng Fill Handle trên phạm vi ô F6:F7.
Như bạn có thể thấy, chúng ta có đã sử dụng VLOOKUP nhiều giá trị trong một ô mà không có giá trị trùng lặp.
Đọc thêm: Cách VLOOKUP và trả về nhiều giá trị trong Excel (8 phương pháp)
Kết luận
Để kết luận, tôi hy vọng hướng dẫn này sẽ giúp bạn vlookup nhiều giá trị trong một ô trong Excel. Tải xuống sách bài tập thực hành và tự mình thử. Chắc chắn, nó sẽ phát triển kiến thức Excel của bạn. Ngoài ra, vui lòng đưa ra phản hồi trong phần bình luận. Phản hồi có giá trị của bạn giúp chúng tôi có động lực để tạo ra nhiều bài viết như thế này. Đừng quên kiểm tra trang web ExcelWIKI của chúng tôi để biết các sự cố và giải pháp liên quan đến Excel.