Поиск по частичному совпадению в Excel - PullRequest
0 голосов
/ 24 октября 2018

Tab-A содержит две колонки.Столбец 1 - это домены веб-сайтов, а столбец 2 заполнен формулой, которая должна выводить электронные письма, найденные в Tab-B:

backpacks.com         / FORMULA TO FIND EMAIL FROM TAB-B 
buy.bags.io           / FORMULA TO FIND EMAIL FROM TAB-B
shop.plasticbags.net  / FORMULA TO FIND EMAIL FROM TAB-B
bags.org              / FORMULA TO FIND EMAIL FROM TAB-B

Tab-B содержит два столбца.Столбец 1 - это электронные письма, а столбец 2 - это почтовые домены:

admin@backpacks.com     / backpacks.com 
hi@bags.io              / bags.io
hello@plasticbags.net   / plasticbags.net
support@bags.org        / bags.org   

. Для каждого домена на вкладке A я хочу выполнить поиск по доменам электронной почты на вкладке B и посмотреть, есть ли частичное совпадение.Например, "bags.io" является частичным совпадением с "buy.bags.io".Я извлек домены электронной почты из адреса электронной почты, чтобы упростить поиск, но вы также можете выполнить поиск по всему адресу электронной почты для частичного совпадения, если знаете, как.

Если есть совпадение, которое я хочу вывести, оно связываетсяЭл. адрес.Если совпадений нет, я хочу поставить пустую ячейку.

Я пытался выяснить это с помощью Vlookup и других, но я просто не могу его получить.Как я могу это сделать?

Ответы [ 3 ]

0 голосов
/ 24 октября 2018

Если вы можете использовать VLOOKUP, то вы можете использовать:

VLOOKUP("*"& lookup value  &"*" , table array , column number, FALSE)

Где "*" - подстановочный знак.

"*"& lookup value: затем он принимает другие слова перед значением поиска.

"*"& lookup value: затем принимает другие слова после значения поиска.

"*"& lookup value &"*": принимать слова по обе стороны от вашего значения поиска.

Счастливого поиска:)!

0 голосов
/ 24 октября 2018

Ну ... у меня гораздо более сложный ответ, чем у Скотта.Для потомков вот оно!

  1. В столбце B вкладки A я создал вспомогательный столбец, который подсчитывает число . в домене
  2. в столбце Tab-AC & D & E, я создал формулу для возврата каждого «куска» домена.
  3. В столбце F таблицы A я создал формулу, которая возвращает электронное письмо на основе двух запросов: объединение столбца C & D,и если это не возвращает никакого значения, то объединение столбца D & E.

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

В B1 =LEN(A1)-LEN(SUBSTITUTE(A1,".",""))В C1 =IF(A1=0,"",TRIM(LEFT(RIGHT(SUBSTITUTE("."&A1,".",REPT(" ",99)),(B1+1)*99),99)))В D1 =IF(A1=0,"",TRIM(LEFT(RIGHT(SUBSTITUTE("."&A1,".",REPT(" ",99)),(B1)*99),99)))В E1 =IF(A1=0,"",TRIM(LEFT(RIGHT(SUBSTITUTE("."&A1,".",REPT(" ",99)),(B1-1)*99),99)))В F1 =INDEX('Tab-B'!A1:A4,IFNA(MATCH("*"&C1&"."&D1&"*",'Tab-B'!B1:B4,0)<>"",MATCH("*"&D1&"."&E1&"*",'Tab-B'!B1:B4,0)))

Позвольте мне сказать, что решение Скотта чертовски элегантнее!enter image description here

0 голосов
/ 24 октября 2018

Использование:

=IFERROR(INDEX(D:D,AGGREGATE(15,7,ROW($E$1:$E$4)/(ISNUMBER(SEARCH($E$1:$E$4,A1))),1)),"")

Итерирует один столбец с доменами и возвращает строку частичного совпадения в INDEX, который возвращает электронное письмо.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...