0

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

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

我希望输出是

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

谢谢

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

4

2 回答 2

2

除了 Jaycal 提供的教程链接外,我还能想到两种方法。

非 VBA 解决方案

全选Column A» 右键单击​​ » Copy CTRL+C

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

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

在此处输入图像描述

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

这将删除重复项。现在你只需要在单元格中粘贴一个公式D1

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

抓住单元格的右下角并将其向下拖动直到最后一个单元格Column C

这将在没有 VBA 的情况下解决您的问题

在此处输入图像描述

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
于 2013-09-20T08:05:14.340 回答
0

可能值得考虑小计:

SO18903348 示例

于 2013-09-20T15:02:42.037 回答