excel vba删除重复项

我有下面的表格:

Name, Total, Email Address Date Test1,12,test1@hotmail.com 12/12/2012 Test2,12,test1@hotmail.com 12/05/2015 Test2,12,test1@hotmail.com 12/05/2015 Test3,12,test1@hotmail.com 12/07/2016 

我想匹配名称,电子邮件地址和date。 如果find一个现有的logging,那么我想合并它们并将总计加在一起。 例如

 Test2,12,test1@hotmail.com 12/05/2015 Test2,12,test1@hotmail.com 12/05/2015 

会成为

 Test2,24,test1@hotmail.com 12/05/2015 

我有什么select? 如果我顺序迭代,并检查每一个这将花费大量的时间..(正在考虑使用范围检查和检查当前行对所有,如果发现然后删除并添加一个新的行)。将欣赏一些例子。

您可以添加第五列和CONCAT列名称,电子邮件,date,并在它们之间使用逗号。 例如Test1,test1@hotmail.com,12/12/2012

在另一个工作表中导出此列,然后应用Remove duplicates以获得唯一的数据。

现在根据此列应用SUMIF ,并将Total中的数据汇总为:

 SUMIF(range:"your tabel",criteria: the 5th column, sum range: column Total) 

假设:

  1. 该列表按ColAsorting
  2. 您的表格标题在Row3中
  3. 只有一个重复
  4. 如果ColA是一样的,那么C和D也是一样的

     Dim i As Integer Dim cellCount As Integer cellCount = Application.CountA(Range("A:A")) - 1 For i = 4 To cellCount If (Cells(i, "A").Value = Cells(i + 1, "A").Value) Then Cells(i, "B").Value = Cells(i, "B").Value + Cells(i + 1, "B").Value End If Next i ActiveSheet.Range("A:D").RemoveDuplicates Columns:=1, Header:=xlYes 

为什么不简单地有列E总和这样的值:

 =SUMIFS(B:B,A:A,"="&A2,C:C,"="&C2,D:D,"="&D2) 

当你完成复制作为价值观,并删除使用function区上的function重复? 这样你就可以在E列结尾复制到B列,并在编辑完成后的几分钟内完成:清晰度和步骤

那些是需要的步骤

  1. 将下面的公式放在单元格E1中,并将其拉下,直到它全部列E,直到数据结束

    =SUMIFS(B:B,A:A,"="&A2,C:C,"="&C2,D:D,"="&D2)

  2. 将列E复制到列E – 作为值

  3. 使用Excel的删除重复function

  4. 将E列复制到B列

这就是完成您的任务所需的全部步骤。