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

在Excel或R中匹配通配符数组,excel,Excel,我试图将A列与B中的任何值进行匹配,但我无法找出获得匹配结果的正确公式。 如果B具有对应的通配符值,则匹配中的值 A B Match 1 2 NO 2_1 3 YES 3 13 YES 3_1 14 YES 3_2 YES 9 NO 12 NO 14

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

A             B     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,并包含数据中的
匹配

您想要
A
的值出现在列
B
的任何位置的行吗

> x[x$A %in% x$B,]
   A  B Match
3  3 13   YES
8 14 NA   YES
看起来您可能希望匹配
之前的所有内容:

> with(x, x[sub('_.*', '', A) %in% B,])
     A  B 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

目前还不清楚预期的结果应该是什么。
是否与您制作的摘录中的
匹配?我们应该在
可用的
中查找
吗?@Hugh:我已经更改了混乱的字段标题。“匹配”列是预期结果。我在B中寻找A,其中B可以用通配符进行补充。