Как получить среднее время данных в Excel? - PullRequest
0 голосов
/ 20 марта 2019

У меня есть лист Excel, содержащий два столбца A (метка времени) и столбец B (значение).

          A                  B
     TIMESTAMP             VALUE
     -----------------------------

1     1/1/2018 0:00:16     14.78

2     1/1/2018 0:00:18     14.79

3     1/1/2018 0:00:20     14.8

4     1/1/2018 0:00:22     14.8

Частота данных 2 сек. Как я могу получить средние значения каждые 5 минут?

1 Ответ

1 голос
/ 20 марта 2019

Я не уверен, что это поможет:

Option Explicit

Sub test1()

    Dim LastRow As Long, i As Long, y As Long, Count As Long
    Dim Average As Double, Total As Double
    Dim CurrentTime As Date, Plus5Minutes As Date

    With ThisWorkbook.Worksheets("Sheet1")

        LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row

        For i = 1 To LastRow

            CurrentTime = .Range("A" & i).Value
            Plus5Minutes = DateAdd("n", 5, CurrentTime)
            Count = 1
            Total = .Range("B" & i).Value

            For y = i + 2 To LastRow

                If .Range("A" & y).Value < Plus5Minutes Then
                    Count = Count + 1
                    Total = Total + .Range("B" & y).Value
                Else
                    .Range("C" & y - 1).Value = Total / Count
                End If

            Next y

        Next i

    End With

End Sub

Результат:

enter image description here

...