Excel: текстовая формула множественного поиска - PullRequest
0 голосов
/ 02 апреля 2019

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

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

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

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

enter image description here

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

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

1 Ответ

1 голос
/ 02 апреля 2019

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

Если вы используете 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

...