Excel-formel: Flera matchningar i kommaseparerad lista -

Innehållsförteckning

Generisk formel

(=TEXTJOIN(", ",TRUE,IF(rng1=E5,rng2,"")))

Sammanfattning

För att slå upp och hämta flera matchningar i en kommaseparerad lista (i en enda cell) kan du använda IF-funktionen med TEXTJOIN-funktionen. I exemplet som visas är formeln i F5:

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

Detta är en matrisformel och måste anges med kontroll + skift + enter.

Denna formel använder de namngivna områdena "namn" (B5: B11) och "grupp" (C5: C11).

Förklaring

Kärnan i denna formel är IF-funktionen, som "filtrerar" namnen i tabellen efter färg så här:

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

Det logiska testet kontrollerar varje cell i det namngivna intervallet "grupp" för färgvärdet i E5 (rött i detta fall). Resultatet är en array som denna:

(FALSE;FALSE;TRUE;TRUE;FALSE;FALSE;TRUE)

Resultatet används i sin tur för att filtrera namn från det namngivna intervallet "namn":

("Matt";"Sally";"Jude";"Aya";"Elle";"Linda";"George")

För varje SANT överlever namnet, för varje FALSKT returnerar en tom sträng ("").

Resultatet av IF-utseende är denna matris:

("";"";"Jude";"Aya";"";"";"George")

som går in i TEXTJOIN-funktionen som text1.

TEXTJOIN är konfigurerad för att använda ett komma som avgränsare och för att ignorera tomma värden. Det slutliga resultatet är denna textsträng:

"Jude, Aya, George"

Flera villkor

Du kan inte använda OCH- eller ELLER-funktionerna i en sådan matrisformel eftersom de bara returnerar ett enda resultat. Du kan använda boolesk logik så här för OCH:

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

Förklaras mer detaljerat här.

Intressanta artiklar...