2016-04-17 5 views
2

A列をBの任意の値と一致させようとしていますが、一致結果を得るための正しい式がわかりません。 Bに対応するワイルドカード値がある場合、Aの値は一致します。ExcelまたはRで一致するワイルドカード配列

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列にワイルドカードを追加しようとしましたが、私はRを使用して、あなたのデータからMatch列を含む

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

それは意図した結果がどうあるべきか不明です。あなたが作成した抜粋の中の「Match」は意図していますか?私たちは '入手可能'で 'シーク 'を探しているべきですか? – Hugh

+0

@Hugh:混乱しているフィールドヘッダーを変更しました。一致列は意図した結果です。私はBでAを探しています。ここでBにはワイルドカードが補足されています。 – val

答えて

3

を意図したとおり、これは動作しません。

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 
関連する問題