具有多个搜索条件的非精确Vlookup - Microsoft Excel

时间:2013-09-12 18:34:46

标签: excel vlookup

我在Excel中从表中提取某些日期时遇到问题。数据采用下图所示格式:

Name---------------------------First Name------------------- Surname
Billy Peter Hunt---------------Tim---------------------------Smith
Chris Paul Smith---------------Brad--------------------------Johnson
Dave Colin Jones---------------Karen-------------------------Perry
Dr James Clyde Watt------------Dave--------------------------Jones
John Phil Cross----------------Chris-------------------------Smith
Kelly Holmes-------------------Hector------------------------Baxter
Norman Bryce-West--------------Billy-------------------------Hunt

对于First NameSurname列中列出的每个人(例如“Tim Smith”,“Brad Johnson”等),我希望能够搜索Name列,对于包含所搜索人员的First NameSurname的第一个单元格,并将结果输出到新列中。

由于Name列中有很多中间名,标题和双管姓氏,我无法使用完全匹配搜索。我需要搜索每个单元格的内容,看看它们是否有任何匹配的子字符串。

我发现我可以使用带有通配符的Vlookup根据First Name OR Surname列进行搜索,但我无法弄清楚如何同时使用这两列作为搜索条件。

对此的任何帮助将不胜感激。我一直在向谷歌打字,并且制造了许多沮丧的咕噜声无济于事。

2 个答案:

答案 0 :(得分:2)

您可以尝试使用数组函数:

=INDEX(A$2:A$100,MATCH(9^99,SEARCH(B2,A$2:A$100)*SEARCH(C2,A$2:A$100)))

这适用于 Ctrl + Shift + 输入但不能单独使用 Enter

100更改为您需要的任何数字,具体取决于您拥有的行数(或将A$2:A$100更改为A:A以获取整列,但它可能会更慢)。< / p>

请注意,如果有多个人的姓名包含相同的姓名和姓氏(例如Tim SmithSmith Tim,则该功能会为您提供该列的最后结果。)

答案 1 :(得分:0)

可以尝试:

=IFERROR(MATCH("*"&B2&"*"&C2,A:A,0),"")  

SO18771894 example

其中结果数字是组件名字和姓氏匹配的行。

(不会涵盖所有可能性,虽然不太可能有任何自动化的方法。例如,当蒂姆史密斯在场时,将指向Timothy J Smithson优先于蒂姆史密斯,但在ColumnA列表中更低。)

自拍摄图像后调整公式,因为最终的通配符可能比帮助更具障碍。