我想部分匹配以下字符串范围:
针对这个范围的字符串:
如果匹配,则输出原始范围内的原始值:
我尝试了嵌套的 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)))
当我想要我正在使用的第一个范围的原始字符串时,它很接近,但它最终只为我生成了数字。
我只想使用公式,而不是脚本。
答案 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 中测试过这个公式。