使用Excel VBA根据单元格的值进行平均吗?

时间:2018-09-13 02:38:29

标签: excel excel-vba

因此,我们使用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

这是我的数据的样子:

table

0 个答案:

没有答案