因此,我们使用excel vba每小时进行一次活动以取平均值。
基本上,我们的任务是分别对单元格的值求平均。
平均从晚上9点到10点,从晚上10点到11点,等等。我已经研究了许多不同的方法,但仍然不知道该怎么做。
我知道可以使用数据透视表或averageif轻松完成此操作,但是我们的任务是在excel vba中执行此操作。
这是我当前的代码:
Sub test()
Dim a As Collection
Dim lastrow As Integer
Set a = New Collection
lastrow = Cells(Rows.Count, "B").End(xlUp).Row
If Sheet1.Range("A1").Value > TimeValue("09:00:00") Then
For x = 1 To lastrow
y = Cells(x, 2).Value
a.Add (y)
Next x
For Z = 1 To a.Count
f = a.Item(Z) + f
Next Z
Range("C1").Value = (f / a.Count)
ElseIf Sheet1.Range("A1").Value < TimeValue("09:00:00") Then
For x = 1 To lastrow
y = Cells(x, 2).Value
a.Add (y)
Next x
For Z = 1 To a.Count
f = a.Item(Z) + f
Next Z
Range("C2").Value = (f / a.Count)
End If
End Sub
这是我的数据的样子: