Rasec Malkic Asked: 2023-11-17 03:44:57 +0800 CST2023-11-17 03:44:57 +0800 CST 2023-11-17 03:44:57 +0800 CST Vlookup 类似公式来搜索范围内文本字符串的值 772 我正在尝试在 B2:B6 中的值中搜索 E1 中的值,并使用 Excel 365 从 A 列中获取相应的字母。 我已经尝试过这个公式,但似乎我没有正确使用TEXTSPLIT(),因为该MATCH()函数出现错误或错误的结果。 E1: =MATCH(E1,TEXTSPLIT(B2:B6,",")*1,0) H1 氢2 A 1,6,8,9,11,27 乙 2,10,14,21,22,23,24,26,33 C 3 D 4,7 乙 12,13 下面是在 E1:H1 中搜索不同值时 E3:H3 中的预期结果。谢谢你的帮助。 excel 1 个回答 Voted Best Answer Mayukh Bhattacharya 2023-11-17T03:51:33+08:002023-11-17T03:51:33+08:00 不一定需要使用,TEXTSPLIT()也可以使用以下公式: • 单元格中使用的公式E2 =LOOKUP(2,1/SEARCH(","&E$1&",",","&$B$2:$B$6&","),$A$2:$A$6) 或者,与BYCOL() =BYCOL(E1:H1,LAMBDA(α, LOOKUP(2,1/SEARCH(","&α&",",","&$B$2:$B$6&","),$A$2:$A$6))) 或者,与TEXTSPLIT() =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() =TOROW(IF(1-ISERR(SEARCH(","&E$1&",",","&$B$2:$B$6&",")),$A$2:$A$6,p),2) 或者, • 单元格中使用的公式E2 =BYCOL(IF(1-ISERR(SEARCH(","&E1:H1&",",","&$B$2:$B$6&",")),A2:A6,""),CONCAT) 或者,为什么不这样: • 单元格中使用的公式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))))
不一定需要使用,TEXTSPLIT()也可以使用以下公式:
• 单元格中使用的公式E2
或者,与BYCOL()
或者,与TEXTSPLIT()
注意:为什么TEXTSPLIT()不能像您想要实现的那样工作,这是因为该函数设计为对单个文本字符串进行操作,将它们分解为行和列。当您传递一个数组作为输入时,该函数不会将其识别为数组,并假定它为单列值并输出相同的值,而其余部分则被丢弃。
或者,使用TOROW()
或者,
• 单元格中使用的公式E2
或者,为什么不这样:
• 单元格中使用的公式E2
或用于BYCOL()溢出