Excel-formule: meerdere overeenkomsten in door komma's gescheiden lijst -

Inhoudsopgave

Generieke formule

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

Samenvatting

Om meerdere overeenkomsten op te zoeken en op te halen in een door komma's gescheiden lijst (in een enkele cel), kunt u de ALS-functie gebruiken met de TEXTJOIN-functie. In het getoonde voorbeeld is de formule in F5:

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

Dit is een matrixformule en moet worden ingevoerd met control + shift + enter.

Deze formule gebruikt de genoemde bereiken "naam" (B5: B11) en "groep" (C5: C11).

Uitleg

De kern van deze formule is de ALS-functie, die de namen in de tabel als volgt op kleur "filtert":

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

De logische test controleert elke cel in het benoemde bereik "groep" op de kleurwaarde in E5 (rood in dit geval). Het resultaat is een array als deze:

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

Dat resultaat wordt op zijn beurt gebruikt om namen uit het benoemde bereik "naam" te filteren:

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

Voor elke TRUE blijft de naam bestaan, voor elke FALSE retourneert IF een lege tekenreeks ("").

Het resultaat van IF-looks is deze array:

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

die in de TEXTJOIN-functie gaat als tekst1.

TEXTJOIN is geconfigureerd om een ​​komma als scheidingsteken te gebruiken en om lege waarden te negeren. Het uiteindelijke resultaat is deze tekstreeks:

"Jude, Aya, George"

Meerdere voorwaarden

U kunt de EN- of OF-functies niet gebruiken in een matrixformule zoals deze, omdat ze slechts één resultaat retourneren. U kunt booleaanse logica als volgt gebruiken voor AND:

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

Hier in meer detail uitgelegd.

Interessante artikelen...