所以基本上我会有一个更改的名单列表,如此
Deborah 9 30
Steven 4 22
Michelle 9 26
Michelle 8 30
Alice 10 28
John 3 21
David 7 23
David 9 26
David 7 24
Lucy 6 24
我的目标是编写一个宏,以便名称显示为
Deborah 9 30
Steven 4 22
Michelle 17 56
Alice 10 28
John 3 21
David 23 73
Lucy 6 24
因此,第1列具有相同值的所有行将是另一列中值的总和,并合并为一行。这些名字将会发生变化,因此我无法在IF中进行硬编码=" Michelle"它必须只是这些行=这些其他行。我正在尝试在工作中自动完成繁琐的任务,感谢任何建议!
答案 0 :(得分:0)
您可以使用包含INDEX
,MATCH
,MAX
和COUNTIF
的数组公式创建不同的名称排序列表,如下所述:
然后,您可以对结果中的每个名称使用简单的SUMIF
函数。
答案 1 :(得分:0)
如果重复的名称是连续的行,那么尝试这个短宏:
Sub DeDup()
Dim N As Long, i As Long
N = Cells(Rows.Count, "A").End(xlUp).Row
For i = N To 2 Step -1
If Cells(i, 1) = Cells(i - 1, 1) Then
Cells(i - 1, 2) = Cells(i - 1, 2) + Cells(i, 2)
Cells(i - 1, 3) = Cells(i - 1, 3) + Cells(i, 3)
Range(Cells(i, 1), Cells(i, 3)).Delete Shift:=xlUp
End If
Next i
End Sub
答案 2 :(得分:0)
只需使用sumif公式。你可以根据自己的需要进行操作。它将在给定的行中总结您想要的内容。或者如果您愿意,可以使用数组。