在Excel 2013中,我想在字符串与A列中的字符串匹配的行中的B列中找到值。复杂的是,允许A列中的字符串短于所寻求的值字符串。例子:
Column A Column B
ABCD- Result1
EF Result2
BCD Result3
现在,应该返回的字符串示例...
"Result1": "ABCD-", "ABCD-EFG", "ABCD-H"
"Result2": "EF", "EFG", "EFGHIIJKL"
"Result3": "BCD", "BCDXY"
“ ABCD”不应返回任何结果。
假设所需的字符串在单元格C1中。
我必须诉诸宏还是为此制定公式?
UPD:将会有实际上位于另一张纸上的一列中的多个寻求的字符串,并且开头不会有任何通配符。我要查找的值可以放在带有查找字符串的列旁边的列中。
UPD2:假定Sheet1上的A列和B列内容以及下面的Sheet2上的内容:
SoughtString ResultFound
ABCD- Result1
EF Result2
BCD Result3
BCDXY Result3
EFG Result2
ABCD-EFG Result1
EFGHIIJKL Result2
ABCD-H Result1
ABCD No match
从单元格B2中可接受的答案中复制经过稍微修改的数组公式:
=IFERROR(INDEX(Sheet1!B$2:B$4;MATCH(1;COUNTIF(A2;Sheet1!A$2:A$4&"*")*(Sheet1!A$2:A$4<>"");0));"No match")
假设您在第2到10行中有数据,则可以使用此“数组公式”
=IFERROR(INDEX(B$2:B$10,MATCH(1,COUNTIF(C1,A$2:A$10&"*")*(A$2:A$10<>""),0)),"No match")
用CTRL+ SHIFT+确认ENTER
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句