Sub test()
Dim x As Long
Dim y As Long
Dim last_Row As Long
Dim last_Row2 As Long
Dim temp_String As String
Dim temp_String2 As String
Dim sum_Total As Long
Dim count As Long
sum_Total = 0
count = 0
Worksheets("Main").Columns("A:A").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("D2"), Unique:=True
last_Row = Range("A65536").End(xlUp).Row
Range("D1").Value = "Unique Values"
Range("E1").Value = "Total"
Range("F1").Value = "Count"
Range("G1").Value = "Average"
For x = 1 To last_Row
temp_String = Range("A" & x).Value
temp_String2 = Range("B" & x).Value
last_Row2 = Range("D65536").End(xlUp).Row
For y = 2 To last_Row2
If Range("D" & y).Value = temp_String Then
Range("E" & y).Value = Range("E" & y).Value + temp_String2
Range("F" & y).Value = Range("F" & y).Value + 1
Range("G" & y).Value = Range("E" & y).Value / Range("F" & y).Value
Else
'do nothing
End If
Next y
Next x
End Sub
It is probably fairly inefficient but it will do the job.
Bookmarks