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