部分匹配一个范围的字符串与另一个范围的字符串,输出部分匹配

时间:2021-01-17 07:54:42

标签: google-sheets google-sheets-formula

我想部分匹配以下字符串范围:

enter image description here

针对这个范围的字符串:

enter image description here

如果匹配,则输出原始范围内的原始值:

enter image description here

我尝试了嵌套的 IFS 和 VLOOKUPS,但奇怪的是对我不起作用:

=IF(VLOOKUP(""&$B$1&"",E1,1,FALSE)=E1,$B$1,IF(VLOOKUP(""$B$2 &"",E1,1,FALSE)=E1,$B$1)

我也试过:

=SUMPRODUCT(--ISNUMBER(SEARCH(B1:B22,E1)))

当我想要我正在使用的第一个范围的原始字符串时,它很接近,但它最终只为我生成了数字。

我只想使用公式,而不是脚本。

2 个答案:

答案 0 :(得分:0)

使用您的 SUMPRODUCT 构造并在搜索字符串前后添加 "*" 并在索引函数中使用它:

=IFERROR(INDEX($B$1:$B$22,IF(--ISNUMBER(SEARCH("*"&$B$1:$B$22&"*",$E$1:$E$25))=1,ROW($B$1:$B$22),"")),"")

答案 1 :(得分:0)

您可以使用以下公式,看看它是否对您的情况有帮助。

=LOOKUP(2^15,SEARCH($B$1:$B$22,E1,1),$B$1:$B$22)

这里的 2^15 是一个大于 Excel 单元格可以容纳的最大字符数的数字。

注意:我确信 Excel 中的这个公式。但是,我还没有在 google-sheets 中测试过这个公式。