![](https://cdn.wiki-base.com/9012681/excel_formula_multiple_matches_in_comma_separated_list__2.png.webp)
Обща формула
(=TEXTJOIN(", ",TRUE,IF(rng1=E5,rng2,"")))
Обобщение
За да търсите и извличате множество съвпадения в списък, разделен със запетая (в една клетка), можете да използвате функцията IF с функцията TEXTJOIN. В показания пример формулата във F5 е:
(=TEXTJOIN(", ",TRUE,IF(group=E5,name,"")))
Това е формула на масив и трябва да се въведе с control + shift + enter.
Тази формула използва наименуваните диапазони "име" (B5: B11) и "група" (C5: C11).
Обяснение
Ядрото на тази формула е функцията IF, която "филтрира" имената в таблицата по цвят по следния начин:
IF(group=E5,name,""))
Логическият тест проверява всяка клетка от посочения диапазон "група" за стойността на цвета в E5 (в този случай червена). Резултатът е масив като този:
(FALSE;FALSE;TRUE;TRUE;FALSE;FALSE;TRUE)
Този резултат се използва на свой ред за филтриране на имена от посочения диапазон "name":
("Matt";"Sally";"Jude";"Aya";"Elle";"Linda";"George")
За всяко TRUE името оцелява, за всяко FALSE, IF връща празен низ ("").
Резултатът от IF погледите е този масив:
("";"";"Jude";"Aya";"";"";"George")
което влиза във функцията TEXTJOIN като text1.
TEXTJOIN е конфигуриран да използва запетая като разделител и да игнорира празни стойности. Крайният резултат е този текстов низ:
"Джуд, Ая, Джордж"
Множество условия
Не можете да използвате функциите И или ИЛИ във формула на масив като тази, защото те връщат само един резултат. Можете да използвате логическа логика като тази за И:
=TEXTJOIN(", ",TRUE,IF((condition1)*(condition2),name,""))
Обяснено по-подробно тук.