我在col A中有名字,在col B中有日期。
名称和日期都有重复。
在col C中有一个唯一日期列表。
我试图编写一些代码,告诉我col A中名称的唯一数量,其中日期是col C中的x。
非常感谢任何帮助!
由于
Col A Col B Col C Col D
name dates Unique dates
bob 02/01/2000 02/01/2000
fred 02/01/2000 03/01/2000
harry 03/01/2000
bob 03/01/2000
fred 02/01/2000
harry 03/01/2000
所以在col D中,我希望在运行代码时有一个数字,数字将是每个唯一日期的唯一名称数。因此,对于02年1月2日在col D中,数字将是2
答案 0 :(得分:0)
以下代码可以根据需要执行,但是我使用Sheet2作为帮助工作表来在计算出现次数之前删除重复项,因此只要你有一个Sheet2并且Sheet1上的列D中有零,那么它应该工作:
Sub foo()
LastRow2 = Sheet1.Cells(Sheet1.Rows.Count, "D").End(xlUp).Row 'Find the last Row on column A of Sheet1
Columns("A:B").Copy 'Copy the first two columns of Sheet1.
Sheets("Sheet2").Paste 'Paste the columns into Sheet2
Application.CutCopyMode = False
LastRow3 = Sheet2.Cells(Sheet2.Rows.Count, "A").End(xlUp).Row ' Count the number of rows on Sheet2 Column A
Sheet2.Range("$A$1:$B$" & LastRow3).RemoveDuplicates Columns:=Array(1, 2), Header:=xlYes ' Remove duplicates on Sheet2
For i = 2 To LastRow3 'Loop through Sheet2 to find expected values
For j = 2 To LastRow2 ' Loop through Sheet1 Column D to compare values
If Sheet1.Cells(j, 3).Value = Sheet2.Cells(i, 2).Value Then ' If values on Sheet1 Column D match those on Sheet2 Column B Then
Sheet1.Cells(j, 4).Value = Sheet1.Cells(j, 4).Value + 1 ' Increment Column D on Sheet1 by one (to be able to increment the first/original value should be 0)
End If
Next j
Next i
End Sub