Усреднение на основе значения ячейки с помощью Excel VBA? - PullRequest
0 голосов
/ 13 сентября 2018

Итак, у нас есть эта активность для усреднения значений на почасовой основе с использованием Excel VBA.

По сути, перед нами стоит задача усреднить значения ячеек отдельно.

В среднем с 9 до 22, с 10 до 11 и т. Д. Я искал много разных методов и до сих пор не могу понять, как это сделать.

Я знаю, что это легко сделать с помощью сводной таблицы или среднего значения, но мы поставили задачу сделать это в 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

...