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和其他工具来解决这个问题,但是我还是无法理解。我该怎么做?
答案 0 :(得分:4)
使用:
=IFERROR(INDEX(D:D,AGGREGATE(15,7,ROW($E$1:$E$4)/(ISNUMBER(SEARCH($E$1:$E$4,A1))),1)),"")
用域对第一列进行迭代,并将部分匹配行返回给INDEX,该索引将返回电子邮件。
答案 1 :(得分:1)
如果可以使用VLOOKUP,则可以使用:
VLOOKUP("*"& lookup value &"*" , table array , column number, FALSE)
其中"*"
是通配符。
"*"& lookup value
:然后它会在您的查询值之前接受其他单词。
"*"& lookup value
:然后它会在您的查询值之后接受其他单词。
"*"& lookup value &"*"
:在查询值的两侧接受单词。
祝您查找愉快:)!
答案 2 :(得分:1)
好吧...我的回答比斯科特复杂得多。为了后代,就在这里!
.
的数量这是在搜索域块的多个组合,而不是从电子邮件地址中搜索部分匹配项。
在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)))