Công thức Excel: Nhiều kết quả phù hợp trong danh sách được phân tách bằng dấu phẩy
Công thức Excel: Nhiều kết quả phù hợp trong danh sách được phân tách bằng dấu phẩy

Công thức chung
{=TEXTJOIN(", ",TRUE,IF(rng1=E5,rng2,""))}
Tóm lược

Để tra cứu và truy xuất nhiều kết quả phù hợp trong danh sách được phân tách bằng dấu phẩy (trong một ô duy nhất), bạn có thể sử dụng hàm IF với hàm TEXTJOIN. Trong ví dụ được hiển thị, công thức trong F5 là:

{=TEXTJOIN(", ",TRUE,IF(group=E5,name,""))}

Đây là công thức mảng và phải được nhập bằng control + shift + enter.

Công thức này sử dụng phạm vi được đặt tên “tên” (B5: B11) và “nhóm” (C5: C11).

Giải trình

Cốt lõi của công thức này là hàm IF, “lọc” các tên trong bảng theo màu như sau:

IF(group=E5,name,""))

Kiểm tra logic kiểm tra từng ô trong “nhóm” dải ô được đặt tên để tìm giá trị màu trong E5 (trong trường hợp này là màu đỏ). Kết quả là một mảng như thế này:

{FALSE;FALSE;TRUE;TRUE;FALSE;FALSE;TRUE}

Kết quả đó lần lượt được sử dụng để lọc các tên từ dải ô đã đặt tên là “name”:

{"Matt";"Sally";"Jude";"Aya";"Elle";"Linda";"George"}

Đối với mỗi TRUE, tên vẫn tồn tại, đối với mỗi FALSE, IF trả về một chuỗi trống (“”).

Kết quả của hình IF là mảng này:

{"";"";"Jude";"Aya";"";"";"George"}

đi vào hàm TEXTJOIN dưới dạng text1.

TEXTJOIN được định cấu hình để sử dụng dấu phẩy làm dấu phân cách và bỏ qua các giá trị trống. Kết quả cuối cùng là chuỗi văn bản này:

“Jude, Aya, George”

Nhiều điều kiện

Bạn không thể sử dụng các hàm AND hoặc OR trong một công thức mảng như thế này vì chúng chỉ trả về một kết quả duy nhất. Bạn có thể sử dụng logic boolean như thế này cho AND:

=TEXTJOIN(", ",TRUE,IF((condition1)*(condition2),name,""))

Giải thích chi tiết hơn tại đây.

https://exceljet.net/formula/multiple-matches-in-comma-separated-list