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 -

Mục lục

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 ô), 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à một 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 các phạm vi được đặt tên là "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" tên trong bảng theo màu sắc như sau:

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

Phép thử 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 "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 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 ở đây.

thú vị bài viết...