Cách sử dụng hàm VLOOKUP nhiều giá trị với một hoặc nhiều tiêu chí

Bài viết này sẽ giới thiệu một số cách sử dụng hàm VLOOKUP để trả về nhiều kết quả phù hợp trong Excel dựa trên một hoặc nhiều điều kiện. Tương tự như các công thức mảng, chúng ta có thể sử dụng một số hàm khác để thực hiện tác vụ này. Hãy cùng tìm hiểu chi tiết về cách thức hoạt động và các bước thực hiện.

VLOOKUP nhiều giá trị bằng công thức

Như đã biết, hàm VLOOKUP không thể trả về nhiều giá trị. Tuy nhiên, chúng ta có thể kết hợp nó với một số chức năng khác để đạt được điều này. Dưới đây là một số công thức ví dụ:

Công thức 1: Dùng VLOOKUP để tham chiếu nhiều kết quả trong cùng một cột

Giả sử chúng ta có một danh sách người bán trong cột A và sản phẩm họ đã bán trong cột B. Chúng ta muốn thống kê tổng số sản phẩm mà mỗi người bán đã bán. Cách thực hiện như sau:

  1. Nhập tên người bán vào một hàng riêng, ví dụ như các ô D2:G2:

  2. Đối với ô đầu tiên, chọn một ô trống sau đó nhập một trong các công thức sau và nhấn tổ hợp phím Ctrl+Shift+Enter (hoặc nhập công thức vào ô đầu tiên, nhấn Ctrl + Shift + Enter, sau đó sao chép công thức đó vào những ô còn lại trong cột).

    =IFERROR(INDEX($B$3:$B$13,SMALL(IF(D$2=$A$3:$A$13,ROW($B$3:$B$13)-2,""),ROW()-2)),"")

    Hoặc:

    =IFERROR(INDEX($B$3:$B$13,SMALL(IF(D$2=$A$3:$A$13,ROW($A$3:$A$13)-MIN(ROW($A$3:$A$13))+1,""),ROW()-2)),"")
  3. Sao chép công thức cho các cột khác.

Kết quả sẽ như sau:

Adam, Banana, Orange
Eve, Apple
John, Lemon, Banana, Apple

Công thức 2: Dùng VLOOKUP để tham chiếu kết quả trong cùng một hàng

Nếu bạn muốn tham chiếu nhiều kết quả trong cùng một hàng thay vì cột, bạn có thể sử dụng công thức sau:

=IFERROR(INDEX($B$3:$B$13,SMALL(IF($D3=$A$3:$A$13,ROW($B$3:$B$13)-2,""),COLUMN()-4)),"")

Hoặc:

=IFERROR(INDEX($B$3:$B$13,SMALL(IF($D3=$A$3:$A$13,ROW($A$3:$A$13)-MIN(ROW($A$3:$A$13))+1,""),COLUMN()-4)),"")

Kết quả sẽ như sau:

Banana, Apple, Lemon, Banana

Công thức 3: Dùng VLOOKUP để tham chiếu nhiều kết quả cùng lúc với điều kiện ràng buộc

Nếu bạn muốn tham chiếu nhiều kết quả dựa trên nhiều điều kiện ràng buộc, bạn có thể sử dụng công thức sau:

=IFERROR(INDEX($C$3:$C$30,SMALL(IF(1=((-(lookup_value1=lookup_range1))* (-(lookup_value2=lookup_range2))), ROW(return_range)-m,""), ROW()-n)),"")

Trong đó:

  • lookup_value1, lookup_range1 là cặp giá trị bạn muốn so sánh.
  • lookup_value2, lookup_range2 là cặp giá trị bạn muốn so sánh.
  • return_range là dải ô bạn muốn trích xuất kết quả từ.
  • m là số thứ tự hàng của ô tính đầu tiên trong dải trả kết quả, trừ đi 1.
  • n là số thứ tự cột của ô tính chứa công thức ban đầu, trừ đi 1.

Với công thức này, bạn có thể tham chiếu với nhiều điều kiện ràng buộc.

Cách VLOOKUP trả về nhiều giá trị trong một ô

Nếu bạn muốn trả về nhiều giá trị trong một ô duy nhất và các giá trị đó cách nhau bằng dấu phẩy hoặc dấu cách, bạn có thể sử dụng công cụ Ultimate Suite và Combine Rows Wizard trong Excel. Dưới đây là các bước thực hiện:

  1. Chọn bảng chính hoặc một ô bất kỳ trong bảng, sau đó nhấp vào nút “Combine Rows Wizard” trên thanh công cụ.
  2. Chọn bảng chính và nhấn “Next”.
  3. Chọn cột chính để làm việc và nhấn “Next”.
  4. Chọn cột chứa nhiều giá trị và đặt dấu phân cách mong muốn, sau đó nhấn “Finish”.

Kết quả sẽ được hiển thị trong một ô duy nhất và các giá trị sẽ được cách nhau bằng dấu phẩy, dấu cách hoặc dấu khác.

Tuy nhiên, thay vì sử dụng công cụ, bạn cũng có thể sử dụng các công thức mảng hoặc sắp xếp dữ liệu thủ công để đạt được kết quả tương tự.

Với các công thức và công cụ này, bạn có thể dễ dàng tham chiếu và trả về nhiều giá trị trong Excel. Hãy thử áp dụng chúng vào công việc của bạn và tận hưởng tính linh hoạt mà chúng mang lại.