我在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,但我认为我没有做正确的逻辑。他们还有其他方式吗?
修改
我试过的我的VLOOKUP逻辑就是这个
=VLOOKUP(B2,A:A,1,TRUE)
我试图匹配B列中的第一个值以匹配A列的整个列并显示为TRUE,这就是我累了
答案 0 :(得分: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)
如果您想在MS Excel中使用soundex,请参阅此问题
http://stackoverflow.com/questions/14700074/how-to-find-the-match-between-text-that-typo-in-excel