在Excel中使用相同的订单ID总计值

时间:2012-11-23 16:16:13

标签: excel excel-vba excel-formula vba

我有一个大的excel speadsheet,其中包括(以及其他)以下列

orderId   price
222       50.00
222       52.60
223       44.00
223       60.00
224       20.00
225       40.00

有没有办法将orderId显示为唯一一行,并且该ID下的所有价格的总和?所以这个例子会导致

orderId   price
222       102.60
223       104.00
224       20.00
225       40.00

如果有必要,我很乐意创建一个宏来完成这项工作(我有VB知识,但多年没有使用它,我以前从未将它应用到excel中)

2 个答案:

答案 0 :(得分:1)

这很容易通过数据透视表解决,除非我误解了你的要求。

插入 - > Pviot表

设置如下

pivot table

答案 1 :(得分:0)

虽然它不是VBA解决方案,但您只需复制并粘贴订单ID列,并使用Excel功能区中的“删除重复项”来创建唯一列表。然后在每个条目的右边,只需输入= SUMIF(A:A,C1,B:B),其中A:AI假定是订单ID列,C1是唯一列表中的第一个条目,B:B i假设是值的位置。

= SUMIF(您要查看的范围是什么?,您想要查找什么?,您要添加的值在哪里?)

对于VBA,您可以使用字典对象,只需输入在对象id列中找到的每个唯一值,如果它存在,则只需将该总数添加到该条目的值即可。最后,只需使用.keys和.items输出列表。 :)