Všeobecný vzorec
(=TEXTJOIN(", ",TRUE,IF(rng1=E5,rng2,"")))
Zhrnutie
Na vyhľadanie a získanie viacerých zhôd v zozname oddelenom čiarkami (v jednej bunke) môžete použiť funkciu IF s funkciou TEXTJOIN. V zobrazenom príklade je vzorec v F5:
(=TEXTJOIN(", ",TRUE,IF(group=E5,name,"")))
Toto je vzorec poľa a musí byť zadaný pomocou klávesov Control + Shift + Enter.
Tento vzorec používa pomenované rozsahy „názov“ (B5: B11) a „skupina“ (C5: C11).
Vysvetlenie
Jadrom tohto vzorca je funkcia IF, ktorá „filtruje“ názvy v tabuľke podľa farieb takto:
IF(group=E5,name,""))
Logický test skontroluje, či má každá bunka v pomenovanej skupine rozsahu hodnotu farebnej hodnoty v E5 (v tomto prípade červená). Výsledkom je pole ako je toto:
(FALSE;FALSE;TRUE;TRUE;FALSE;FALSE;TRUE)
Tento výsledok sa použije na filtrovanie mien z pomenovaného rozsahu „name“:
("Matt";"Sally";"Jude";"Aya";"Elle";"Linda";"George")
Pri každom PRAVDA názov prežije, pri každom FALSE vráti IF prázdny reťazec ("").
Výsledkom IF vyzerá toto pole:
("";"";"Jude";"Aya";"";"";"George")
ktorý ide do funkcie TEXTJOIN ako text1.
TEXTJOIN je nakonfigurovaný na použitie čiarky ako oddeľovača a na ignorovanie prázdnych hodnôt. Konečným výsledkom je tento textový reťazec:
„Jude, Aya, George“
Viaceré podmienky
Vo vzorci poľa nemôžete použiť funkcie AND alebo OR, pretože vracajú iba jeden výsledok. Môžete použiť logickú logiku takto pre AND:
=TEXTJOIN(", ",TRUE,IF((condition1)*(condition2),name,""))
Tu je vysvetlené podrobnejšie.