2016-09-13 116 views
0

我在Excel文件中有2列(我从2个不同的服务器上的2个不同SQL视图中提取它们)。这应该包含相同的数据。例如:检查两个不同列中的值是否包含匹配

Name    Name 
Adam Smith   Adam Smith 
Billy Jones  Bill Jones 
Colin Richards  Colin Richards 
Dale Cooper  Dal Coop 

我希望能够检查每一列都包含精确匹配或者这些名称的部分匹配,问题是存在于每一列1000+名

我试图VLOOKUP但我不我不认为我在做逻辑的权利。他们有其他方法吗?

EDIT

我VLOOKUP逻辑我试图为这种

=VLOOKUP(B2,A:A,1,TRUE) 

我试图匹配列B中的第一值到匹配列A的整个列,并显示为TRUE,即是我累

+0

分享您的VLOOKUP尝试。你也可以使用'Match'。你的数据“名称”坐在哪张表和列中? –

+0

更新的问题,我把列复制到一张 – Nonagon

+0

你的vlookup应该没问题。向下拖动该公式以检查B中列A的所有值。假设您将vlookup放置在列C中,则可以对列C进行排序,并将所有#N/A值列在顶部。 – alfonso

回答

2

你可以在sql server中使用SOUNDEX。它返回一个四字符(SOUNDEX)代码来评估两个字符串的相似性。 由于您正在检查确切的或部分字符串匹配SOUNDEX是一个不错的选择。请参阅soundex文档https://msdn.microsoft.com/en-us/library/ms187384.aspx。 我已经使用soundex为您的查询,它给予预期的结果。

代码如下

create table #one(name1 varchar(30),name2 varchar(30)) 
insert into #one values ('Adam Smith','Adam Smith') 
insert into #one values ('Billy Jones','Bill Jones') 
insert into #one values ('Colin Richards','Colin Richards') 
insert into #one values ('Dale Cooper','Dal Coop') 

select *, SOUNDEX(name1) name1_soundex, SOUNDEX(name2) name2_soundex 
from #one where 
SOUNDEX(name1) = SOUNDEX(name2) 

Result

如果您想使用MS Excel中的同音,是指这个问题

http://stackoverflow.com/questions/14700074/how-to-find-the-match-between-text-that-typo-in-excel 
+0

感谢您的答案,不幸的是,列包含超过1000行数据,我不能手动输入 – Nonagon

+0

好的答案!我从来没有听说过SOUNDEX。我一定会在将来使用它。 @Nonagon,我不认为你必须手动执行此操作。 – alfonso

相关问题