2014-10-03 60 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循环通过您要删除和删除它们的记录。