我想每7个电池平均取一个电池。例如,我要取单元格A1,A8,A15,A22等的平均值,然后取A2,A9,A16,A23等的另一个平均值。由于数据集很大,如何快速执行此操作。
谢谢
答案 0 :(得分:0)
将此数组公式放在第一个单元格中:
=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个单元格。
答案 1 :(得分:0)
也许是用户定义的功能
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
在工作表中