【问题标题】:How to take an average of cells that are split apart consistently in excel?如何取excel中一致分裂的单元格的平均值?
【发布时间】:2018-08-31 07:38:28
【问题描述】:

我想每 7 个单元格取一个单元格的平均值。例如,我想取单元格 A1、A8、A15、A22 等的平均值。然后再取 A2、A9、A16、A23 等的平均值。我有一个大数据集,我怎样才能快速做到这一点。

谢谢

【问题讨论】:

    标签: excel average


    【解决方案1】:

    将此数组公式放在第一个单元格中:

    =AVERAGE(INDEX(A:A,N(IF({1},(ROW(A1:INDEX(A:A,MATCH(1E+99,A:A)/7))-1)*7+ROW(1:1)))))
    

    作为数组公式,退出编辑模式时需要使用 Ctrl-Shift-Enter 确认,而不是 Enter。

    然后复制/向下拖动 7 个单元格。

    【讨论】:

      【解决方案2】:

      可能是用户定义的函数

      Public Function Get7Average(ByVal rng As Range) As Variant
          Dim arr(), i, total As Long, counter As Long
          If rng.Columns.Count > 1 Or rng.Cells.Count < 7 Then
              Get7Average = CVErr(xlErrNA)
              Exit Function
          Else
              arr = rng.Value
              For i = LBound(arr, 1) To UBound(arr, 1) Step 7
                  counter = counter + 1
                  If IsNumeric(arr(i, 1)) Then
                      total = total + arr(i, 1)
                  End If
              Next
          End If
          If total = 0 Then
              Get7Average = CVErr(xlErrNA)
              Exit Function
          End If
          Get7Average = total / counter
      End Function
      

      在工作表中

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-07-27
        • 1970-01-01
        • 1970-01-01
        • 2020-08-23
        • 1970-01-01
        • 2021-12-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多