Excel VLookup公式中的定界查找字符串

时间:2018-09-07 19:44:16

标签: excel vba vlookup

数据     值表

                           A                                       B
Life Insurance;Banks;Non-life Insurance;Nonlife Insurance     Manufacturing
Mobile Telecommunications;Fixed Line Telecommunications        Retailing

查询值

    A                                             Return
Life Insurance                                 Manufacturing
NonLife Insurance                              Manufacturing
Mobile Telecommunications                      Retailing

目前确实如此

查询值

    A                                             Return
Life Insurance                                 Manufacturing
NonLife Insurance                              Retailing
Mobile Telecommunications                      Retailing

在“返回”列中

= IFERROR(INDEX($ F $ 32:$ F $ 33,MATCH(H31,LEFT($ E $ 32:$ E $ 33,SEARCH(“;”,$ E $ 32:$ E $ 33,1)-1)) ,0),IFERROR(INDEX($ F $ 32:$ F $ 33,MATCH(H31,MID($ E $ 32:$ E $ 33,SEARCH(“;” ,, $ E $ 32:$ E $ 33)+ 1,SEARCH(“ ;“,$ E $ 32:$ E $ 33,SEARCH(”;“,$ E $ 32:$ E $ 33)+1)-SEARCH(”;“,$ E $ 32:$ E $ 33)-1)),0) ,INDEX($ F $ 32:$ F $ 33,MATCH(H31,RIGHT($ E $ 32:$ E $ 33,LEN($ E $ 32:$ E $ 33)-SEARCH(“;”,$ E $ 32:$ E $ 33, SEARCH(“;”,$ E $ 32:$ E $ 33)+1))),0)))

尝试使用“;”查看左,右和中间选项作为分手点,然后进行匹配和索引操作,效果不佳。有没有办法在同一列中用';'分隔多个值的vlookup?

谢谢

2 个答案:

答案 0 :(得分:6)

使用:

=INDEX(B:B,MATCH("*" & D1 & "*",A:A,0))

enter image description here


还有一个简单的VLOOKUP:

=VLOOKUP("*" & D1 & "*",A:B,2,FALSE)

答案 1 :(得分:1)

具有以下数据布局

  

A列包含数据表

     

D:E列包含正在查找的值

您可以在B1单元格中尝试以下公式(不区分大小写)

=LOOKUP(2^15,SEARCH(";"&$D$1:$D$3&";",";"&SUBSTITUTE(A1,"-","")&";",1),$E$1:$E$3)

根据需要复制下来。

注意:

我添加了SUBSTITUTE函数来处理额外的“-”。

您可以使用FIND代替SEARCH使其区分大小写。