Excel:如何修剪重复项并组合它们的值?

时间:2013-09-19 19:31:25

标签: excel excel-vba excel-formula vba

假设我有一个简单的两列表

value-a | 3
value-b | 7
value-b | 2
value-c | 5

我希望输出为

value-a | 3
value-b | 9
value-c | 5

由于

PS。我希望这只是一个非常简单的功能。我试图使用'巩固',但失败了。我不太熟悉Excel脚本或如何运行它。

2 个答案:

答案 0 :(得分:2)

除了Jaycal提供的教程链接外,我还有两种方法可以考虑。

非VBA解决方案

选择整个Column A»右键点击»Copy CTRL + C

选择单元格C1»右键单击»粘贴为值

选择整个Column C»转到Data Tab»删除重复项

enter image description here

点击下一个弹出窗口Remove Duplicates上的Continue with the current selection,确保您只选择了Column C

这将删除重复项。现在您只需要在单元格D1

中粘贴公式

=SUMIF(A:A,C1,B:B)

抓住单元格的右下角并将其向下拖动到Column C

中的最后一个单元格

这将解决您没有VBA的问题

enter image description here

VBA解决方案

Sub RemoveDupsAndSumUp()
Application.ScreenUpdating = False
    Columns("A:A").Copy
    Range("C1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Range("$C:$C").RemoveDuplicates Columns:=1, Header:=xlNo
    Range("D1").FormulaR1C1 = "=SUMIF(C[-3],RC[-1],C[-2])"
    Range("D1").AutoFill Destination:=Range("D1:D" & Range("C" & Rows.Count).End(xlUp).Row), Type:=xlFillDefault
Application.ScreenUpdating = True
End Sub

答案 1 :(得分:0)

可能值得考虑小计:

SO18903348 example