我们说我有2列(下表包括结果)
Product ID Price Average
1 4 5
1 4 5
1 7 5
2 3 3
2 3 3
3 9 9
我希望能够编写一个VBA代码来遍历产品ID的行,并创建第三列,其中包含平均价格。
我想For语句可以工作,但是如何定义临时变量来存储每个ID?
谢谢!
答案 0 :(得分:1)
正如Vasily和L.Dutch所说,AVERAGEIF()
功能就是你所需要的。如果要将其循环遍历所有单元格,可以使用Do While
循环,如下所示:
Sub avg()
Dim i As Integer
i = 2
Do While Range("A" & i).Value <> ""
Range("C" & i).FormulaR1C1 = "=AVERAGEIF(C1,RC1,C2)"
i = i + 1
Loop
End Sub