删除重复项后保留COUNTIF的值(Excel 2007)

时间:2010-08-28 13:44:39

标签: excel-2007

我有一个包含多个重复行的电子表格。我需要按照频率顺序对这些数据进行排序,因此我设置了COUNTIF并对它们进行了排序。现在我想删除重复的行,但保持COUNTIF的值相同,并且如果以后将其他重复项添加到电子表格中,则Excel会添加它。

我该怎么做呢?

编辑:

这可能会使它更复杂,但下面是现在的数据示例(最后一个数字表示出现次数;使用我的COUNTIF):

123 |是的| 2,901 | 4,243 | 5555 |约翰| 4
123 |是的| 2,919 | 4,528 | 5555 |约翰| 4
123 |是的| 2,901 | 4,243 | 5555 |约翰| 4
123 |是的| 4,243 | 4,128 | 5555 |约翰| 4
111 | 80 | 2,919 | 4,452 | 2222 |乔| 2
111 | 80 | 11,00 | 2,901 | 2222 |乔| 2

这就是我需要它的方式:

123 |是的| 2,901 | 4,243 | 5555 |约翰| 4
111 | 80 | 2,919 | 4,452 | 2222 |乔| 2

请注意,尽管某些值不完全匹配,但第一个单元格(A列)是相同的。

希望能让它更加清晰。

1 个答案:

答案 0 :(得分:1)

如果有人感兴趣,以下是解决我问题的方法。

Sub Count()

Dim sID As String Dim sOldID As String Dim lLastRow As Long Dim lrow As Long Dim lcount As Long

lLastRow = ActiveSheet.Cells(Rows.Count,1).End(xlUp).Row

lrow = 2 sID = ActiveSheet.Cells(lrow,1).Value sOldID = ActiveSheet.Cells(1,1).Value lcount = 1

做Len(sID)<> 0

If sID <> sOldID Then
    ActiveSheet.Cells(lrow - 1, 19).Value = lcount
    sOldID = sID
    lcount = 1
    lrow = lrow + 1
Else
    lcount = lcount + 1
    ActiveSheet.Rows(lrow).Select
    Selection.Delete Shift:=xlUp
End If

sID = ActiveSheet.Cells(lrow, 1).Value

循环

ActiveSheet.Cells(lrow - 1,19).Value = lcount

End Sub