![](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 налаштовано на використання коми як роздільника та ігнорування порожніх значень. Кінцевим результатом є цей текстовий рядок:
"Джуд, Айя, Джордж"
Кілька умов
Ви не можете використовувати функції AND або OR у такій формулі масиву, оскільки вони повертають лише один результат. Ви можете використовувати таку логічну логіку для І:
=TEXTJOIN(", ",TRUE,IF((condition1)*(condition2),name,""))
Пояснити тут більш докладно.