2010-08-28 80 views
0

我有一個包含多個重複行的電子表格。我需要按照頻率順序對這些數據進行排序,因此我設置了COUNTIF並對它們進行了排序。現在我想刪除重複的行,但將COUNTIF保持爲相同的值,並且如果將來將其他重複項添加到電子表格中,則會將Excel添加到該行中。刪除重複項後保留COUNTIF的值(Excel 2007)

我該如何去做這件事?

編輯:

這可能使得稍微複雜,但低於是數據的一個例子,因爲它現在是(最後的數字表示出現的次數;和我的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

如果有人有興趣,下面是解決我的問題。

Sub Count() 

昏暗SID作爲字符串 昏暗sOldID作爲字符串 昏暗lLastRow只要 昏暗lrow只要 昏暗lcount只要

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

lrow = 2 SID = ActiveSheet.Cells(lrow,1)。價值 sOldID = ActiveSheet.Cells(1,1)。價值 lcount = 1

DO WHILE 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)。價值= lcount

結束子