查找单元格值是否是列表中某个其他单元的一部分
例如,我知道我可以在Excel中search某些单元格的确切值
AB cat dog black dog black cat cat C1=MATCH(A1;B1:B4;0)
这将给我4 – 第一行B1:B4出现“猫”。
但是我想search第一个包含我的文本但不等于它的单元格,所以在我的情况下它会是3,因为“黑猫”包含“猫”和“黑猫”“猫”
没有VBA可能吗?
你有效地匹配2个条件 – A1包含在文本中, A1 <>文本,所以你可以使用这个版本与MATCH
=MATCH(1;INDEX((B1:B4<>A1)*(SEARCH(A1;B1:B4)>0);0);0)
我用分号作为分隔符,而不是逗号,因为看起来你需要那些用于你所在地区的
你可以在MATCH
使用通配符。 所以我想你可以用一个像这样的函数来实现
=IF(OR(ISNA(MATCH(A2&"?*",B1:B5,0)),ISNA(MATCH("*?"&A2,B1:B5,0))),IF(ISNA(MATCH(A2&"?*",B1:B5,0)),IF(ISNA(MATCH("*?"&A2,B1:B5,0)),-1,MATCH("*?"&A2,B1:B5,0)),MATCH(A2&"?*",B1:B5,0)),IF(MATCH("*?"&A2,B1:B5,0)<MATCH(A2&"?*",B1:B5,0),MATCH("*?"&A2,B1:B5,0),MATCH(A2&"?*",B1:B5,0)))
此function确保Cat之前或之后至less有1个字符,因此不会直接与Cat匹配。
以下是MATCH的一些文档
NB。 正如评论中所提到的,你可能不得不改变;
因为你的语言环境似乎与我的不同。