This is an array formula and must be entered with control + shift + enter. This formula uses the named ranges “name” (B5:B11) and “group” (C5:C11). The logical test checks each cell in the named range “group” for the color value in E5 (red in this case). The result is an array like this: That result is used in turn to filter names from the named range “name”: For each TRUE, the name survives, for each FALSE, IF returns an empty string (""). The result of IF looks is this array: which goes into the TEXTJOIN function as text1. TEXTJOIN is configured to use a comma as the delimiter, and to ignore empty values. The final result is this text string: “Jude, Aya, George”
Line break instead of comma
To join matches with a line break instead of a comma, you can adjust the formula like this: The CHAR function returns the code used for a line break. You will also need to enable text wrapping.
Multiple conditions
You can’t use the AND or OR functions in an array formula like this because they only return a single result. You can use boolean logic like this for AND: Explained in more detail here.
Dave Bruns
Hi - I’m Dave Bruns, and I run Exceljet with my wife, Lisa. Our goal is to help you work faster in Excel. We create short videos, and clear examples of formulas, functions, pivot tables, conditional formatting, and charts.