从Excel电子表格中删除包含重复数据的行?

我有一个有约18K行和三列的Excel电子表格。 我想用它作为Access数据库中的一个键。 所以三列是

[IDKeyNumber] [Name] [Category] 

问题是在某些地方ID号是重复的,因为该类别有两个类别代码(typeA和typeB)

我真正需要知道如何做的是删除Excel电子表格中的每一个“行/logging”在哪里ID号和名称匹配(如匹配另一个logging来隔离重复)和类别= TypeB。

所以我只想摆脱在类别字段中具有此TYPEB的所有重复行/logging。

谢谢!

IA:一些行或logging有一个有效的TypeB类别不是重复,这就是为什么我需要logging=logging,除了类别的想法…谢谢

有可能在Excel中使用ADO和SQL,例如:

 Dim cn As Object Dim rs As Object strFile = Workbooks(1).FullName strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFile _ & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";" Set cn = CreateObject("ADODB.Connection") Set rs = CreateObject("ADODB.Recordset") cn.Open strCon strSQL = "SELECT id, name, max(type) AS type FROM [Sheet1$] GROUP BY id, name" rs.Open strSQL, cn For i = 0 To rs.Fields.Count - 1 Sheets("Sheet2").Cells(1, i + 1) = rs.Fields(i).Name Next Sheets("Sheet2").Cells(2, 1).CopyFromRecordset rs 

假设列是A,B和C.

  1. 在列上添加列标题(id,名称,类别)
  2. 按A和Bsorting(如果您需要保留sorting顺序,请参阅下文)
  3. 在D2中,把公式“= AND(A2 = A1,B2 = B1,C2 =”TypeB“)”
  4. 填写下来
  5. 使用AutoFilter仅selectD为false的行。
  6. 根据需要复制和粘贴。

为了保持sorting顺序,你需要另一个列 – 比方说E,因为我们用D来表示公式。 在分类之前,将1放入E2,2放入E3,并填入系列。 您可以通过拖动增长手柄,或将值实际放入D2和D3中,使其与填充的单元格相邻,然后双击增长手柄来完成此操作。 菜单上还有一个命令来执行此操作,但我不记得它的名称或位置。

@Carls的build议或类似的东西是最快捷的方式来获得你需要在Excel中。

另一个选项可能是在Access中设置表并设置所有主键。 然后只要导入数据,并忽略它出来的任何错误。