Formuła programu Excel: wiele dopasowań na liście oddzielonej przecinkami -

Spisie treści

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.

Interesujące artykuły...