Excel: текстовая формула множественного поиска

У меня есть таблица, описывающая основную систему двусторонних отношений.

Для простоты я просто буду использовать животных в качестве примера.
(Моя настоящая таблица излишне сложна и не будет полезна.)

Я перечисляю животных с уникальным текстовым именем (идентификатором).
Затем в другом столбце я перечисляю животных, связанных с животным, в столбце идентификатора.

И, наконец, мне нужен столбец, который рассчитывает отношения в обратном порядке.

Для этого мне нужно будет выполнить поиск по всему второму столбцу и составить список идентификаторов животных, которые содержат определенное слово в столбце 2.

Я знаю, что это может быть сложно для формулы Excel, но было бы очень полезно, если бы я мог пока оставить это вне PowerQuery или VBA.
(Эта таблица не будет очень большой, возможно, не более 100 строк.)

1 ответ

Решение

За мой комментарий:

Если вы используете Excel 2016 или Office 365, вы сможете использовать TEXTJOIN для этого в качестве формулы массива, например:

=TEXTJOIN(", ",TRUE,IF(ISNUMBER(SEARCH(A2,$B$2:$B$7)),$A$2:$A$7,""))

Или, если вы предпочитаете использовать табличную нотацию (без тегов столбца "Уникальный"):

=TEXTJOIN(", ",TRUE,IF(ISNUMBER(SEARCH([@Animal],[Related Animal])),[Animal],""))

Поместите эту формулу в ячейку C2 (и не забудьте подтвердить ее с помощью Ctrl+Shift+Enter, чтобы сделать ее формулой массива), а затем скопируйте ее. Если вы используете более раннюю версию Excel, для этого потребуется, чтобы результаты были в отдельных ячейках, или вам понадобится VBA.

ПРИМЕЧАНИЕ: размещение закрывающих скобок было исправлено OP Giffyguy

Другие вопросы по тегам