
Generische Formel
(=TEXTJOIN(", ",TRUE,IF(rng1=E5,rng2,"")))
Zusammenfassung
Um mehrere Übereinstimmungen in einer durch Kommas getrennten Liste (in einer einzelnen Zelle) zu suchen und abzurufen, können Sie die IF-Funktion mit der TEXTJOIN-Funktion verwenden. In dem gezeigten Beispiel lautet die Formel in F5:
(=TEXTJOIN(", ",TRUE,IF(group=E5,name,"")))
Dies ist eine Array-Formel und muss mit Strg + Umschalt + Eingabe eingegeben werden.
Diese Formel verwendet die benannten Bereiche "Name" (B5: B11) und "Gruppe" (C5: C11).
Erläuterung
Der Kern dieser Formel ist die IF-Funktion, die die Namen in der Tabelle nach Farbe wie folgt "filtert":
IF(group=E5,name,""))
Der logische Test überprüft jede Zelle im benannten Bereich "Gruppe" auf den Farbwert in E5 (in diesem Fall rot). Das Ergebnis ist ein Array wie folgt:
(FALSE;FALSE;TRUE;TRUE;FALSE;FALSE;TRUE)
Dieses Ergebnis wird wiederum verwendet, um Namen aus dem benannten Bereich "Name" zu filtern:
("Matt";"Sally";"Jude";"Aya";"Elle";"Linda";"George")
Für jeden TRUE bleibt der Name erhalten, für jeden FALSE gibt IF eine leere Zeichenfolge ("") zurück.
Das Ergebnis von IF-Looks ist dieses Array:
("";"";"Jude";"Aya";"";"";"George")
Das geht in die TEXTJOIN-Funktion als Text1.
TEXTJOIN ist so konfiguriert, dass ein Komma als Trennzeichen verwendet und leere Werte ignoriert werden. Das Endergebnis ist diese Textzeichenfolge:
"Jude, Aya, George"
Mehrere Bedingungen
Sie können die AND- oder OR-Funktionen in einer Array-Formel wie dieser nicht verwenden, da sie nur ein einziges Ergebnis zurückgeben. Sie können eine solche boolesche Logik für AND verwenden:
=TEXTJOIN(", ",TRUE,IF((condition1)*(condition2),name,""))
Hier ausführlicher erklärt.