使用字符串搜索列以进行通配符匹配

时间:2015-03-17 11:23:30

标签: regex excel

我似乎无法弄清楚使用它所需的VLOOKUP魔法。

看,我得到的是包含文件名的B列,如下所示:

[COLUMN B]
./11001 Boogie Oogie Oogie (A Taste Of Honey).wav
./11001 Rescue Me (A Taste Of Honey).wav 
./11001 Sukiyaki (A Taste Of Honey).wav
./11002 Memory (Acker Bilk).wav
./11002 Stuck On You (Acker Bilk).wav
./11002 Could I Have This Dance (Acker Bilk).wav
./11002 Do That To Me One More Time (Acker Bilk).wav
./11002 This Masquerade (Acker Bilk).wav
./11002 Just Once (Acker Bilk).wav

等6220个参赛作品。

我有另一列,列E,其中包含文件名中存在的TRACK NAME。看起来像这样:

American Patrol
Artistry In Rhythm
Begin The Beguine
Big John's Special
Cherokee

例如。所以我想要做的是,在另一列中,我想使用列E中的字符串搜索列B,然后从列B返回匹配的字符串。

因此,如果我们想象我将此公式放在与美国巡逻赛道名称相同的行中的C列中,它将搜索B列中的范围并返回:

./11249 American Patrol (BBC Big Band).wav
./11249 Artistry In Rhythm (BBC Big Band).wav
./11249 Begin The Beguine (BBC Big Band).wav

等等。

我尝试过这个公式

=VLOOKUP(E2;B2:B6235;2;TRUE)

所以,这会返回一个文件名,但它似乎匹配了所有文件名,只是返回我在col_index变量中指定的结果,所以现在它返回第二个匹配(基本上,只是B列中的第二行) )如果我改为3,它只会返回第三个命中,再次匹配所有文件名,似乎......

我对Excel功能并不熟悉,所以我不确定在哪里寻找解决方案。

1 个答案:

答案 0 :(得分:0)

您不应该在未排序的数据上使用TRUE作为VLOOKUP function range_lookup 参数。但是,您可以将通道标题包装在通配符中,以实现您正在寻找的搜索。

Song Title lookup

C1中的公式是,

=INDEX(B:B, MATCH("*"&E1&"*",B:B, 0))

......或,

=VLOOKUP("*"&E1&"*",B:B, 1, FALSE)

他们完成了同样的事情。