Excel – 与variables名称匹配的两列

我有两个人名单,我必须检查他们是否在两个名单。 事情是,字符不被接受的列表之一(例如“ – ”),并且这个人可能已经省略了姓,如果他们有两个。

例如:

A1 B2 John Paul John Paul Jones Mary Williams Ryan Roberts Ryan Roberts-Johnson Mary Williams

我的公式是: =IFERROR(MATCH($A1,$B$1:$B$1215,0),IFERROR(MATCH(LEFT($A1,FIND(" ",$A1,1)),$B$1:$B$1215,0),"No Match"))

这个想法是:如果名字是一样的,就把我所在的那一行。 如果没有,find第一个名字,看看你是否先find了这个人,然后把它带给我。 如果两者都不起作用,则回复“不匹配”。

但显然匹配function只能检索完全匹配,所以名字一个不起作用。

有没有其他方法可以解决这个问题?

编辑1:第一次发现:我可以使用SUBSTITUTE公式replace-与空间,再次进行search。

您可以创build一个从B列中提取名字的临时列。

看到这个例子。

我花了一些时间来节省一些东西(如果我手动完成了大约3500次的input,我可能会花费更多的时间去研究/研究,但是学习的机会很大。)

我想要的是:当我只有姓氏的时候,用名字+姓氏来search一个单元格。

我做了什么:我记得有关通配符,并使用VLOOKUP:

首先我得到了姓,并添加了星号: ="*"&RIGHT($A1,LEN($A1)-FIND(" ",$A1,1))

=VLOOKUP(A1,$B$1:$B$1000,1,FALSE)

它会尝试find第一个。 在此之前,我添加了一张支票,以确保没有两个姓(所以它不会抛出另一个人)与一个简单的IF(COUNTIF($C$2:$C$2000,$D219)<=2 ,然后是公式的其余部分。

还有一些我注意到的东西和提醒: TRIM非常重要,因为一些单元格在名字/最后一个和最后一个名字的最后一个字母后面有一个空格之间有两个空格。 使用TRIM创build一个新的列使我避免了很多错误,我只花了一段时间才注意到。

我相信这个案子已经解决了。