
Formuła ogólna
(=TEXTJOIN(", ",TRUE,IF(rng1=E5,rng2,"")))
Podsumowanie
Aby wyszukać i pobrać wiele dopasowań na liście oddzielonej przecinkami (w jednej komórce), możesz użyć funkcji JEŻELI z funkcją TEXTJOIN. W pokazanym przykładzie formuła w F5 to:
(=TEXTJOIN(", ",TRUE,IF(group=E5,name,"")))
To jest formuła tablicowa i należy ją wprowadzić za pomocą Ctrl + Shift + Enter.
Ta formuła używa nazwanych zakresów „nazwa” (B5: B11) i „grupa” (C5: C11).
Wyjaśnienie
Rdzeniem tej formuły jest funkcja JEŻELI, która „filtruje” nazwy w tabeli według koloru w następujący sposób:
IF(group=E5,name,""))
Test logiczny sprawdza, czy każda komórka w nazwanym „grupie” zakresu ma wartość koloru w E5 (w tym przypadku czerwony). Rezultatem jest tablica taka:
(FALSE;FALSE;TRUE;TRUE;FALSE;FALSE;TRUE)
Ten wynik jest z kolei używany do filtrowania nazw z nazwanego zakresu „nazwa”:
("Matt";"Sally";"Jude";"Aya";"Elle";"Linda";"George")
Dla każdej PRAWDA nazwa przetrwa, dla każdej FAŁSZ, JEŻELI zwraca pusty ciąg („”).
Wynikiem wyglądu JEŻELI jest następująca tablica:
("";"";"Jude";"Aya";"";"";"George")
który trafia do funkcji TEXTJOIN jako tekst1.
TEXTJOIN jest skonfigurowany do używania przecinka jako separatora i ignorowania pustych wartości. Ostateczny wynik to ten ciąg tekstowy:
„Jude, Aya, George”
Wiele warunków
Nie można używać funkcji AND ani OR w formule tablicowej takiej jak ta, ponieważ zwracają one tylko jeden wynik. Możesz użyć logiki boolowskiej w ten sposób dla AND:
=TEXTJOIN(", ",TRUE,IF((condition1)*(condition2),name,""))
Bardziej szczegółowo wyjaśniono tutaj.