Vlookup喜欢公式,以搜索范围内带有文本字符串的值

Vlookup like formula to search value with text string in a range

提问人:Rasec Malkic 提问时间:11/17/2023 最后编辑:Mayukh BhattacharyaRasec Malkic 更新时间:11/17/2023 访问量:33

问:

我正在尝试在 B2:B6 中的值中搜索 E1 中的值,并使用 Excel 365 从 A 列中获取相应的字母。

我尝试过这个公式,但似乎我没有正确使用,因为该函数出现错误或错误的结果。TEXTSPLIT()MATCH()

E1: =MATCH(E1,TEXTSPLIT(B2:B6,",")*1,0)
H1型 H2型
一个 1,6,8,9,11,27
B 2,10,14,21,22,23,24,26,33
C 3
D 4,7
E 12,13

低于 E3:H3 中的预期结果,用于在 E1:H1 中搜索的不同值。感谢您的帮助。

enter image description here

excel 公式

评论


答:

1赞 Mayukh Bhattacharya 11/17/2023 #1

不需要使用,也可以使用以下公式:TEXTSPLIT()

enter image description here


• 细胞中使用的配方E2

=LOOKUP(2,1/SEARCH(","&E$1&",",","&$B$2:$B$6&","),$A$2:$A$6)

或者,使用BYCOL()

enter image description here


=BYCOL(E1:H1,LAMBDA(α, LOOKUP(2,1/SEARCH(","&α&",",","&$B$2:$B$6&","),$A$2:$A$6)))

或者,使用TEXTSPLIT()

enter image description here


=TOCOL(IFS(IFERROR(--TEXTSPLIT(TEXTAFTER(","&$B$2:$B$6,",",SEQUENCE(,MAX(LEN($B$2:$B$6)-LEN(SUBSTITUTE($B$2:$B$6,",",))+1))),","),"")=E$1,$A$2:$A$6),2)

注意:为什么没有像你试图实现的那样工作,这是因为该函数被设计为使用单个文本字符串进行操作,将它们分解为行和列。当您将数组作为输入传递时,该函数不会将其识别为数组,而是将其假定为单列值并输出相同的值,而其余的值则被丢弃。TEXTSPLIT()


或者,使用TOROW()

enter image description here


=TOROW(IF(1-ISERR(SEARCH(","&E$1&",",","&$B$2:$B$6&",")),$A$2:$A$6,p),2)

enter image description here


• 细胞中使用的配方E2

=BYCOL(IF(1-ISERR(SEARCH(","&E1:H1&",",","&$B$2:$B$6&",")),A2:A6,""),CONCAT)

或者,为什么不以这种方式:

enter image description here


• 细胞中使用的配方E2

=INDEX($A$2:$A$6,XMATCH("*,"&E1&",*",","&$B$2:$B$6&",",2))

或用于溢出BYCOL()

=BYCOL(E1:H1,LAMBDA(α, INDEX($A$2:$A$6,XMATCH("*,"&α&",*",","&$B$2:$B$6&",",2))))

评论

0赞 Rasec Malkic 11/17/2023
有时我读到,在这样的论坛上,你可以得到惊喜的帮助。这是其中之一!!非常感谢您的帮助、解释和分享的不同解决方案。不知道为什么,唯一失败的是我=BYCOL(IF(1-ISERR... ... A2:A6,""),CONCAT)
0赞 Mayukh Bhattacharya 11/17/2023
在我这边工作,啊,这可能是因为你需要启用。Beta Channel