Cách Vlookup với nhiều kết quả khớp trong Excel (với các bước đơn giản)

  • Chia Sẻ Cái Này
Hugh West

Một trong những chức năng tuyệt vời và được sử dụng rộng rãi nhất của Excel là Hàm VLOOKUP . Cho đến nay, chúng ta đã học cách rút ra một kết quả khớp từ một dải ô bằng cách sử dụng chức năng này. Bạn có thể thường xuyên gặp phải các tình huống trong đó bạn cần lấy tất cả các giá trị phù hợp cho một mã định danh duy nhất. Trong bài viết này, chúng tôi sẽ trình bày cách bạn có thể rút ra nhiều kết quả phù hợp từ một dải ô bằng cách sử dụng Hàm VLOOKUP trong Excel.

Tải xuống Sách bài tập thực hành

Bạn có thể tải xuống sổ làm việc Excel sau để hiểu rõ hơn và tự thực hành.

Thực hiện Vlookup với nhiều kết quả khớp.xlsx

2 bước để thực hiện Vlookup với nhiều kết quả khớp trong Excel

Ở đây chúng ta có Hồ sơ Sách của Hiệu sách Martin . Tập dữ liệu này chứa Loại sách , Tên sách Tác giả của một số cuốn sách trong các cột B , C D tương ứng.

Hôm nay, mục tiêu của chúng ta là lấy ra tất cả các kết quả phù hợp của từng loại sách bằng cách sử dụng hàm VLOOKUP . Chúng tôi sẽ thực hiện điều này trong hai bước. Vì vậy, chúng ta hãy khám phá từng cái một.

Ở đây, chúng tôi đã sử dụng phiên bản Microsoft Excel 365 , bạn có thể sử dụng bất kỳ phiên bản nào khác tùy theo sự thuận tiện của mình.

📌 Bước 01: Tạo tên duy nhất cho mỗi giá trị tra cứu

  • Ngay từ đầu, hãy chèn một cột mới có tiêu đề Cột trợ giúp vào bên trái cột tra cứu Loại sách và nhập công thức này vào ô B5 .
=C5&COUNTIF(C5:$C$25,C5) Phân tích công thức
  • COUNTIF(C5:$C$25,C5) trả về tổng số ô trong phạm vi C5:C25 ( Loại sách ) chứa giá trị trong ô C5 ( Novel ). Xem hàm COUNTIF để biết chi tiết.
    • Nói một cách đơn giản, có bao nhiêu tiểu thuyết. Đó là 7 .
  • C5&COUNTIF(C5:$C$25,C5) nối giá trị trong ô C5 ( Novel ) với nó.
    • Vì vậy, nó trả về Novel7 .

Khi kéo công cụ Fill Handle , C5 tăng từng bước một, như C5 , C6 , C7 … nhưng C25 không đổi. Do đó, đối với mỗi Loại sách , những cuốn trước đó sẽ bị loại trừ và một tên mới được tạo.

Ví dụ: trong trường hợp tiểu thuyết, Novel1 thành Novel7 được tạo và tương tự đối với Thơ và các loại sách khác.

  • Sau đó, nhấn ENTER .

  • Sau đó, đưa con trỏ sang bên phải -góc dưới cùng của ô B5 và nó sẽ giống như dấu cộng (+) . Trên thực tế, đó là công cụ Fill Handle .
  • Bây giờ, hãy nhấp đúp vào công cụ đó.

Công cụ này sao chép công thức này đến các ô còn lại. Bạn sẽ tìm thấy tất cả các giá trị tra cứu được cung cấp với một tên duy nhất, như Novel1 , Novel2…, Poetry1 , Poetry2… ,v.v.

📌 Bước 02: Sử dụng hàm VLOOKUP

  • Trước hết, hãy tạo một cột mới với Tiêu đề cột làm giá trị tra cứu.

  • Thứ hai, chèn công thức sau vào ô G5 là ô đầu tiên của cột này.
=VLOOKUP(G$4&ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4))),$B$5:$E$25,3,FALSE) Phân tích công thức
  • COUNTIF($C$5:$C $25,G$4) cho biết có bao nhiêu ô trong phạm vi C5:C25 ( Loại sách ) chứa giá trị trong ô G4 ( Tiểu thuyết ).
    • Nói một cách đơn giản, tổng cộng có bao nhiêu cuốn tiểu thuyết. Đó là 7 .

Chúng tôi đã sử dụng tham chiếu ô tuyệt đối của phạm vi C5:C25 ( $C $5:$C$25 ) vì chúng tôi muốn nó không thay đổi nếu chúng tôi sao chép công thức vào bất kỳ ô nào.

  • INDIRECT(“A”&COUNTIF($C$5: $C$25,G$4)) trở thành INDIRECT(“A”&7) và trả về tham chiếu ô A7 . Xem hàm INDIRECT để biết chi tiết.
  • ROW($A$1:INDIRECT(“A”&COUNTIF($C$5:$C$25,G$4))) bây giờ trở thành ROW(A1:A7) . Xem hàm ROW để biết chi tiết.
    • Nó trả về một mảng từ 1 đến 7 như {1, 2, 3, 4, 5, 6, 7} .

Chúng tôi đã sử dụng $A$1 vì chúng tôi không muốn nó thay đổi nếu chúng tôi sao chép công thức sang một ô khác.

  • G$4&ROW($A$1:INDIRECT(“A”&COUNTIF($C$5:$C$25,G$4))) giờ đây sẽ nối giá trị trong ô G4 ( Tiểu thuyết ) vớimảng được trả về bởi hàm ROW và trả về một mảng khác.
    • Vì vậy, nó trả về {Novel1, Novel2, …, Novel7} .
  • Vlookup(G$4 &ROW($A$1:INDIRECT(“A”&COUNTIF($C$5:$C$25,G$4))),$B$5:$E$25,3,FALSE) trở thành VLOOKUP({Novel1, Novel2, …, Novel7},$B$5:$E$25,3,FALSE) .

Nó tìm kiếm từng giá trị của mảng {Novel1 , Novel2, … Novel7} trong cột tra cứu B .

Sau đó, nó trả về tên tương ứng của tiểu thuyết từ cột 3 (dưới dạng col_index_num 3 ). Vì vậy, chúng tôi nhận được một danh sách tất cả các tiểu thuyết.

  • Như thường lệ, nhấn phím ENTER .

Lưu ý: Đây là công thức mảng. Vì vậy, đừng quên nhấn Ctrl + Shift + Enter trừ khi bạn đang ở trong Excel 365 .

Và đối với các Loại sách khác ,

  • Đầu tiên, hãy chèn tên của họ cạnh nhau dưới dạng Tiêu đề cột và kéo Fill Handle .

Đọc thêm: VLOOKUP GIÁN TIẾP trong Excel

Các bài đọc tương tự

  • Vlookup không hoạt động (8 lý do & giải pháp)
  • Excel LOOKUP so với VLOOKUP: Với 3 ví dụ
  • Tại sao VLOOKUP trả về #N/A Khi trận đấu tồn tại? (5 Nguyên nhân & Giải pháp)
  • Sử dụng VLOOKUP với Nhiều tiêu chí trong Excel (6 Phương pháp + Giải pháp thay thế)
  • VLOOKUP Excel để Tìm Giá trị Cuối cùng trong Cột (vớiCác giải pháp thay thế)

Các cách thay thế để Vlookup với nhiều kết quả phù hợp trong Excel

Nếu phương pháp trước đó có vẻ nguy hiểm, đừng lo lắng. Có nhiều tùy chọn hơn.

1. Sử dụng Chức năng LỌC

Đây thực sự là phương pháp đơn giản nhất. Ở đây, chúng ta sẽ chỉ sử dụng hàm FILTER . Thực hiện theo các bước đơn giản sau.

📌 Các bước:

  • Đầu tiên, viết ra Loại sách làm Tiêu đề cột và nhập công thức sau vào ô F5 .
=FILTER($C$5:$C$25,$B$5:$B$25=F$4) Phân tích công thức

Tại đây,

  • $C$5:$C$25 ( Tên sách ) là mảng tra cứu . Chúng tôi đang tìm kiếm tên của những cuốn sách. Bạn sử dụng cái của mình.
  • $B$5:$B$25 ( Loại sách ) là matching_array . Chúng tôi muốn phù hợp với các loại sách. Bạn sử dụng giá trị của mình cho phù hợp.
  • F4 ( Novel ) là matching_value . Chúng tôi muốn phù hợp với tiểu thuyết. Bạn sử dụng nó cho phù hợp.
  • Sau đó, nhấn ENTER .

Bây giờ, nếu bạn muốn Tên sách của tất cả các Loại sách ,

  • Ban đầu, hãy chèn tên của chúng làm Tiêu đề cột cạnh nhau, sau đó kéo công cụ Fill Handle .

2. Áp dụng kết hợp INDEX, SMALL và ROWS Hàm (Tương thích với các phiên bản Excel cũ hơn)

Hàm FILTER làchỉ khả dụng trong Office 365 . Vì vậy, nếu bạn sử dụng phiên bản Excel cũ hơn, đừng lo lắng. Chúng tôi có một cách giải quyết khác cho bạn. Thật đơn giản và dễ dàng; chỉ cần làm theo.

📌 Các bước:

  • Đầu tiên, hãy chèn Loại sách làm Tiêu đề cột trong ô F4 và nhập công thức này vào ô F5 .
=IFERROR(INDEX($C$5:$C$25,(SMALL(IF($B$5:$B$25=F4,ROW(B5:B25)-ROWS(B1:B4),""),(ROW(B5:B25)-ROWS(B1:B4))))),"") Phân tích công thức
  • ROW(B5:B25) trả về một mảng gồm {5, 6, 7, …, 25} . Và ROWS(B1:B4) trả về 4 . Vì vậy, ROW(B5:B25)-ROWS(B1:B4) trả về một mảng {1, 2, 3, …, 21} . Xem hàm ROW ROWS để biết chi tiết.
  • IF($B$5:$B$25=F4,ROW(B5:B25)-ROWS (B1:B4),””) trả về số tương ứng từ mảng {1, 2, 3, …, 21} giá trị trong ô F4 ( Tiểu thuyết ) khớp với giá trị trong bất kỳ ô nào trong phạm vi B5:B25 ( Loại sách ). Nếu không trả về một ô trống. Xem Hàm IF để biết chi tiết.

  • SMALL(IF($B$5:$B$25=F4 ,ROW(B5:B25)-ROWS(B1:B4),””),(ROW(B5:B25)-ROWS(B1:B4))) trở thành SMALL({1, …, 3 , …, 6, …, 20, …},{1, 2, 3, 4, …., 21}) và trả về các số trước, sau đó trả về các lỗi #NUM! trong khoảng trống tế bào. Xem hàm SMALL để biết chi tiết.

  • INDEX($C$5:$C$25,(SMALL( IF($B$5:$B$25=F4,ROW(B5:B25)-ROWS(B1:B4),””),(ROW(B5:B25)-ROWS(B1:B4))))) trở thành INDEX($C$5:$C$25,{1,3,6,11,…,#NUM!}) và trả về Tên sách tương ứng (Tên Tiểu thuyết) và lỗi #NUM! . Xem hàm INDEX để biết chi tiết.

  • Cuối cùng, chúng ta gói công thức bên trong một hàm IFERROR để biến các lỗi thành các ô trống.
  • Sau đó, nhấn ENTER .

  • Bây giờ, nếu bạn muốn , chèn Loại sách khác làm Tiêu đề cột và kéo Xử lý điền . Bạn sẽ nhận được sách của các loại sách khác.

3. Vlookup với Nhiều kết quả phù hợp và trả về kết quả liên tiếp

Trong phần trước phương pháp, chúng tôi đã nhận được kết quả trong các cột dọc. Nhưng nếu chúng ta muốn lấy các giá trị liên tiếp, chúng ta có thể làm như thế nào? Tại đây, chúng ta sẽ nhận được các tên Tác giả cho các Loại sách khác nhau liên tiếp. Chỉ cần làm theo các bước bên dưới một cách cẩn thận.

📌 Các bước:

  • Đầu tiên, hãy chuyển đến ô G5 và viết công thức bên dưới.
=IFERROR(INDEX($D$5:$D$19,SMALL(IF($F5=$B$5:$B$19,ROW($D$5:$D$19)-4,""),COLUMN()-6)),"")

Công thức này gần giống với công thức trước. Vì vậy, nếu bạn gặp phải bất kỳ vấn đề nào trong việc hiểu công thức này, vui lòng xem giải thích trước đó .

  • Sau đó, nhấn phím ENTER .

Nhưng có những tác giả khác có tiểu thuyết trong bộ dữ liệu này. Vì vậy, làm thế nào chúng ta có thể lấy chúng?

Chỉ cần kéo Fill Handle sang phải ô K5 để lấy Tác giả khác của Tiểu thuyết . Ngoài ra, hãy kéo công cụ Fill Handle vào ô K7 để lấy tên của Tác giả cho các loại sách khác nhau. Xem hình ảnh bên dưới để hiểu rõ.

Cách Vlookup Nhiều kết quả phù hợp với một số tiêu chí

Trong các ví dụ trước của chúng tôi, chúng tôi đã tìm thấy các giá trị cho các tiêu chí đơn lẻ. Ví dụ: chúng tôi lấy tên sách cho một loại sách cụ thể. Nhưng ở đây, chúng tôi sẽ ngụ ý nhiều tiêu chí. Chúng tôi sẽ tra cứu Tiểu thuyết của Charles Dickens bằng phương pháp này. Hãy cùng xem nó hoạt động như thế nào.

📌 Các bước:

  • Đầu tiên và quan trọng nhất, hãy chọn ô H5 và dán công thức sau.
=IFERROR(INDEX($C$5:$C$25,SMALL(IF(1=((--($F$5=$B$5:$B$25))*(--($G$5=$D$5:$D$25))),ROW($C$5:$C$25)-4,""),ROW()-4)),"")
  • Sau đó, nhấn ENTER .

Cách Vlookup và trả về nhiều kết quả khớp trong một ô

Trong các phương pháp trước đây, chúng tôi nhận các giá trị trong các ô khác nhau. Nhưng chúng tôi sẽ chỉ ra cách chúng tôi có thể nhận được kết quả trong một ô duy nhất. Vì vậy, đừng chần chừ thêm nữa, hãy bắt đầu nào!

📌 Các bước:

  • Đầu tiên, hãy chuyển đến ô G5 và nhập công thức bên dưới.
=TEXTJOIN(", ",TRUE,IF($F$5=$B$5:$B$25,C5:C25,""))

Ở đây, hàm IF nhận giá trị từ phạm vi C5:C25 trong đó các giá trị tương ứng trong phạm vi B5:B25 khớp với giá trị trong ô F5 . Sau đó, Hàm TEXTJOIN kết hợp các giá trị của mảng với dấu phẩy làm dấu phân cách.

  • Thứ hai, hãy nhấn ENTER .

Đọc thêm: INDEX MATCH vs Hàm VLOOKUP (9 ví dụ)

Kết luận

Bài viết này giải thích cách vlookup với nhiều kết quả khớp trong Excel một cách đơn giản và ngắn gọn. Đừng quên tải xuống tệp Thực hành. Cảm ơn bạn đã đọc bài viết này. Chúng tôi hy vọng điều này là hữu ích. Vui lòng cho chúng tôi biết trong phần nhận xét nếu bạn có bất kỳ câu hỏi hoặc đề xuất nào. Vui lòng truy cập trang web của chúng tôi, ExcelWIKI , nhà cung cấp giải pháp Excel toàn diện, để khám phá thêm.

Hugh West là một nhà phân tích và huấn luyện viên Excel giàu kinh nghiệm với hơn 10 năm kinh nghiệm trong ngành. Ông có bằng Cử nhân Tài chính Kế toán và bằng Thạc sĩ Quản trị Kinh doanh. Hugh có niềm đam mê giảng dạy và đã phát triển một phương pháp giảng dạy độc đáo, dễ hiểu và dễ theo dõi. Kiến thức chuyên môn về Excel của ông đã giúp hàng nghìn sinh viên và chuyên gia trên toàn thế giới cải thiện kỹ năng và xuất sắc trong sự nghiệp của họ. Thông qua blog của mình, Hugh chia sẻ kiến ​​thức của mình với mọi người, cung cấp các hướng dẫn Excel miễn phí và đào tạo trực tuyến để giúp các cá nhân và doanh nghiệp phát huy hết tiềm năng của họ.