数据 值表
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?
谢谢
答案 0 :(得分:6)
答案 1 :(得分:1)
具有以下数据布局
A列包含数据表
D:E列包含正在查找的值
您可以在B1单元格中尝试以下公式(不区分大小写)
=LOOKUP(2^15,SEARCH(";"&$D$1:$D$3&";",";"&SUBSTITUTE(A1,"-","")&";",1),$E$1:$E$3)
根据需要复制下来。
注意:
我添加了SUBSTITUTE
函数来处理额外的“-”。
您可以使用FIND
代替SEARCH
使其区分大小写。