Excel 从具有多个值的单元格中查找值

Excel 从具有多个值的单元格中查找值,excel,vlookup,vba,Excel,Vlookup,Vba,我有一个excel文件,包含两列(区号)和(州) 我想用vlookup()表示一个给定的区号,比如“620”,然后得到“堪萨斯”。请注意,一行中的所有值都存储在一个单元格中(即“270、502、606、859”存储在一个单元格中) 在VBA中: Function FindState(code as integer) as string FindState = Application.VLookup("*" & code & "*", mySheet.Range("A2:B6

我有一个excel文件,包含两列(区号)和(州)

我想用vlookup()表示一个给定的区号,比如“620”,然后得到“堪萨斯”。请注意,一行中的所有值都存储在一个单元格中(即“270、502、606、859”存储在一个单元格中)

在VBA中:

Function FindState(code as integer) as string
   FindState = Application.VLookup("*" & code & "*", mySheet.Range("A2:B6"), 2, false)
End sub
假设您要查找的数字在d2中,并且数据存储在a列和b列中

我要求找到第一个没有和错误的find并返回行号。在那之后,我开始查找它


使用数组公式ctrl+shift+enter

在公式中使用通配符签出。很抱歉造成混淆。“620”是A4中存储的值的一部分。您建议的函数不能正常工作。@Ashkan查找将在A2:B6范围内进行。请使用通配符重试;)起初,由于格式问题,答案中的通配符被删除了。它在Excel 2010中工作
=VLookup("*620*", A2:B6, 2, false)
Function FindState(code as integer) as string
   FindState = Application.VLookup("*" & code & "*", mySheet.Range("A2:B6"), 2, false)
End sub
=VLOOKUP(INDEX(A:A,MATCH(TRUE,ISNUMBER(FIND(d2,A:A,1)),0)),A:B,2,0)