Exceljet

Quick, clean, and to the point

Multiple matches in comma separated list

Excel formula: Multiple matches in comma separated list
Generic formula 
{=TEXTJOIN(", ",TRUE,IF(rng1=E5,rng2,""))}
Explanation 

To lookup and retrieve multiple matches in a comma separated list (in a single cell) you can use the IF function with the TEXTJOIN function. In the example shown, the formula in F5 is:

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

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).

How this formula works

The core of this formula is the IF function, which "filters" the names in the table by color like this:

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

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:

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

That result is used in turn to filter names from the named range "name":

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

For each TRUE, the name survives, for each FALSE, IF returns an empty string ("").

The result of IF looks is this array:

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

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"

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:

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

Explained in more detail here.

Note: TEXTJOIN was introduced in Excel 2016 via Office 365.

Author 
Dave Bruns

Excel Formula Training

Formulas are the key to getting things done in Excel. In this accelerated training, you'll learn how to use formulas to manipulate text, work with dates and times, lookup values with VLOOKUP and INDEX & MATCH, count and sum with criteria, dynamically rank values, and create dynamic ranges. You'll also learn how to troubleshoot, trace errors, and fix problems. Instant access. See details here.