2014-10-03 83 views
0

在我的工作簿中,我有許多包含客戶數據的工作表。這些表格從大量主數據中提取,並根據缺少電子郵件地址,電話號碼或部門代碼的記錄等因素進行拆分。比較和提取行

我需要防範的是多張中包含的那些記錄,我需要能夠確認每個記錄只出現在不同的工作表上。是否有辦法在工作表中比較客戶編號(所有工作表中的第一列),找出重複項並自動刪除這些編號,從而在工作簿中留下每個客戶的一個實例?

回答

-1

是的,有:)。通常我們在這裏幫助解決問題,而不是編寫完整的解決方案,所以我會分享我爲您推薦的解決方案

由於您的數據可能結構良好,而不是編寫一長段VBA,因此請使用SQL語句

SELECT S1.Col1 FROM [Sheet1$] AS S1, [Sheet2$] AS S2 WHERE S1.Col1 = S2.COL2 

您可以使用union語句將其擴展到其他工作表。類似這樣的:

SELECT S1.Col1 FROM [Sheet1$] AS S1, [Sheet2$] AS S2 WHERE S1.Col1 = S2.COL2 
UNION ALL 
SELECT S1.Col1 FROM [Sheet1$] AS S1, [Sheet2$] AS S3 WHERE S1.Col1 = S3.COL2 

獲得在表單1和2-3之間重複的ID列表。

如何在Excel中使用SQL?看我的插件:http://blog.tkacprow.pl/excel-sql-add-in-free/ 或使用Microsoft Query(數據 - >外部數據等)。

然後刪除重複項使用一些VBA循環通過您要刪除和刪除它們的記錄。