如何使用vba

时间:2017-08-22 13:48:53

标签: excel vba excel-vba excel-2010

我有一张表(" DATA"),其中我有一个包含3列和162个数据集(行)+标题的表。这就是表格的样子:

enter image description here

我需要根据A列(" Site")中的网站名称计算C列的平均值("培训状态[%]")。

我创建了一个在新工作表中创建表的宏("概述"),其中每个网站只声明一次,现在我必须计算"培训状态&#34的平均值;对于每个站点。

决赛桌:

enter image description here

如何根据原始表中的数据将正确的值输入到最终表中,还考虑必须为每个站点名称计算平均值的条件?当然,每个站点的数据集数量并不相同(例如" BRU-Logistics"有3个数据集和" FRA-Logistics"有15个数据集)。

我发现了一些vba代码,但说实话,我真的不理解背后的逻辑,并且无法将其传递给我。

好吧,我的代码不完整。我只是想以某种方式开始,但我迷路了。

Sub Average()

Dim rng As Range
Dim LastRow As Long
Dim r1 As Long, r2 As Long
Dim lNoRows As Long

LastRow = Sheets("DATA").Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Set rng = Sheets("DATA").Range("A2:C" & LastRow)
lNoRows = rng.Row.Count

For r1 = 1 To lNoRows
 If rng(r1, 1) = rng(r2, 1) And r1 = r2 Then

End Sub

非常感谢!

1 个答案:

答案 0 :(得分:0)

你实际上并不需要VBA。在单元格D2中,放置=AVERAGEIF(A:A,A2,C:C),然后复制。