我无法使用VLOOKUP搜索数组并将部分输入字符串与存储列匹配。
这就是我想要的:
如您所见,我的输入列字符串包含存储在“存储数据”中的字符串。柱。但是我不能使用通配符,因为Input是长字符串。
例如,这不会起作用:
=VLOOKUP("*"&I3&"*";$H$3:$I$8;1;FALSE)
我也不认为我可以使用LEFT或RIGHT或MID,因为我不知道输入字符串中匹配字符串的位置。
答案 0 :(得分:0)
我怀疑组成数据的变体并未完全由您的示例覆盖,但无论如何我都将其输入。以下使用嵌套https://github.com/mgravell/protobuf-net/releases函数将连续IFERROR函数中的行号返回到MATCH函数的公式似乎足以涵盖您的示例数据。
=INDEX(H:H, IFERROR(MATCH(I3,H:H, 0),
IFERROR(MATCH(TRIM(LEFT(SUBSTITUTE(I3, " ", REPT(" ", 99)), 99)),H:H, 0),
IFERROR(MATCH(TRIM(RIGHT(SUBSTITUTE(I3, " ", REPT(" ", 99)), 99)),H:H, 0),
IFERROR(MATCH(TRIM(MID(SUBSTITUTE(I3, " ", REPT(" ", 99)), 99, 99)),H:H, 0), NA())))))
如果有助于您了解公式,您可以保留换行符。如果你有其他情况,你应该能够添加额外的嵌套IFERROR(MATCH(...对你自己。