【问题标题】:How to get time avg data in Excel?如何在 Excel 中获取时间平均数据?
【发布时间】:2019-03-20 07:18:27
【问题描述】:

我有一个包含两列 A(时间戳)和列 B(值)的 Excel 表。

          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 分钟持续时间的平均值?

【问题讨论】:

  • 数据点 (0:00:18) 和数据点 3 (0:00:19) 之间的持续时间不是 2 秒...
  • 这一定是类型错误。但是感谢您的强调。
  • 那你需要检查发生了什么...

标签: excel time excel-formula average


【解决方案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" & 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

结果:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-20
    • 1970-01-01
    • 2021-02-02
    • 1970-01-01
    • 2022-08-08
    相关资源
    最近更新 更多