2016-09-13 183 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

相關問題