VBA SUM对不同列的唯一值

时间:2014-09-01 09:48:33

标签: vba excel-vba excel

请有人愿意指出我正确的方向。我想总结重复的值并将它们放在不同的列中。

enter image description here

在P栏中,我有K列中的列表,删除了所有重复项。

在N栏中,是总计。

例如,在K栏中,有一个重复的值' 9175-2278'如果你总结出这2个值的总和,你会得到总数为' 604'

我希望将该值插入Q列。

请有人请我指出正确的方向。

我尝试了以下代码,但没有运气

子样本()

Dim lastRow As Integer, num As Integer, i As Integer
lastRow = Range("A65000").End(xlUp).Row


For i = 2 To lastRow
    num = WorksheetFunction.Match(Cells(i, 1), Range("K1:K" & lastRow), 0)

    If i = num Then
        Cells(i, 3) = WorksheetFunction.SumIf(Range("K1:K" & lastRow), Cells(i, 1), Range("Q1:Q" & lastRow))

    End If
Next

End Sub

提前感谢您的帮助:)

1 个答案:

答案 0 :(得分:1)

作为公式

=SUMIF(K:K,P3, N:N)将其放入Q3并将其拖放

或作为宏

Sub Main()
    With Range("Q3")
        .Formula = "=SUMIF(K:K, P3, N:N)"
        .AutoFill Destination:=Range("Q3:Q" & Range("P" & Rows.Count).End(xlUp).Row), Type:=xlFillDefault
    End With
End Sub