在Excel或R中匹配通配符数组

我试图匹配B列中的任何值的A列,但我无法找出正确的公式来获得匹配结果。 如果B具有相应的通配符值,则A匹配的值。

AB Match 1 2 NO 2_1 3 YES 3 13 YES 3_1 14 YES 3_2 YES 9 NO 12 NO 14 YES 14_3 YES 16 NO 19 NO 20 NO 

我试图给B数组添加一个通配符,但是这不起作用

 C2=MATCH(A2,B2:B5&"*")=#VALUE! 

使用R,并包含数据中的“ Match列。

你想要A行的值出现在列B任何位置?

 > x[x$A %in% x$B,] AB Match 3 3 13 YES 8 14 NA YES 

看起来你可能想匹配_ :之前的所有内容

 > with(x, x[sub('_.*', '', A) %in% B,]) AB Match 2 2_1 3 YES 3 3 13 YES 4 3_1 14 YES 5 3_2 NA YES 8 14 NA YES 9 14_3 NA YES