Формула Excel: несколько совпадений в списке, разделенном запятыми -

Содержание

Общая формула

(=TEXTJOIN(", ",TRUE,IF(rng1=E5,rng2,"")))

Резюме

Для поиска и получения нескольких совпадений в списке, разделенном запятыми (в одной ячейке), вы можете использовать функцию IF с функцией TEXTJOIN. В показанном примере формула в F5:

(=TEXTJOIN(", ",TRUE,IF(group=E5,name,"")))

Это формула массива, которую необходимо вводить с помощью Ctrl + Shift + Enter.

В этой формуле используются именованные диапазоны «имя» (B5: B11) и «группа» (C5: C11).

Объяснение

Ядром этой формулы является функция ЕСЛИ, которая «фильтрует» имена в таблице по цвету следующим образом:

IF(group=E5,name,""))

Логический тест проверяет каждую ячейку в названном диапазоне «group» на значение цвета в E5 (в данном случае красный). Результатом является такой массив:

(FALSE;FALSE;TRUE;TRUE;FALSE;FALSE;TRUE)

Этот результат, в свою очередь, используется для фильтрации имен из именованного диапазона "name":

("Matt";"Sally";"Jude";"Aya";"Elle";"Linda";"George")

Для каждого ИСТИНА имя сохраняется, для каждого ЛОЖЬ, ЕСЛИ возвращает пустую строку ("").

Результатом IF выглядит этот массив:

("";"";"Jude";"Aya";"";"";"George")

который входит в функцию TEXTJOIN как text1.

TEXTJOIN настроен на использование запятой в качестве разделителя и игнорирование пустых значений. Конечный результат - это текстовая строка:

"Джуд, Айя, Джордж"

Несколько условий

Вы не можете использовать функции И или ИЛИ в такой формуле массива, потому что они возвращают только один результат. Вы можете использовать такую ​​логическую логику для AND:

=TEXTJOIN(", ",TRUE,IF((condition1)*(condition2),name,""))

Подробнее об этом здесь.

Интересные статьи...