#excel #time #excel-formula #average
#excel #время #excel-формула #среднее
Вопрос:
У меня есть лист 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. Длительность между точками данных (0:00: 18) и точкой данных 3 (0:00:19) не составляет 2 секунд…
2. это, должно быть, ошибка типа. однако спасибо за выделение.
3. Затем вам нужно проверить, что происходит…
Ответ №1:
Я не уверен, что это поможет:
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" amp; i).Value
Plus5Minutes = DateAdd("n", 5, CurrentTime)
Count = 1
Total = .Range("B" amp; i).Value
For y = i 2 To LastRow
If .Range("A" amp; y).Value < Plus5Minutes Then
Count = Count 1
Total = Total .Range("B" amp; y).Value
Else
.Range("C" amp; y - 1).Value = Total / Count
End If
Next y
Next i
End With
End Sub
Результат: