Excel-逐步动态范围的平均值

时间:2018-07-10 03:41:03

标签: excel dynamic range dimensional

我的目标是获取二维逐步动态范围的平均值。逐步表示参考单元格从右到右,从左到左的次数。例如,如果我有下表,我想取A1,B2,C3,D4和E5的平均值,这些单元格是动态范围的一部分。因此,如果我将参考单元格更改为B2,则将取B2,C3,D4和E5的平均值。我已经进行了研究,抵消或可能会产生Sumproduct;但是,对于阶梯式结构而言,没有什么特别的。任何帮助将不胜感激!

Example Table

1 个答案:

答案 0 :(得分:0)

以下用户定义的函数返回一个“逐步”数字数组,您可以对它们进行求和,平均等操作。

Function stepWise(rng As Range, steps As Long)
    Dim i As Long
    ReDim arr(1 To steps, 1 To 1) As Variant

    For i = 1 To steps
        arr(i, 1) = rng.Cells(1).Offset(i - 1, i - 1)
    Next i

    stepWise = arr
End Function

将UDF代码粘贴到标准的公共模块代码表中。

AVERAGE(A1,B2,C3,D4,E5)的示例:

=AVERAGE(stepWise(A1, 5))

AVERAGE(B1,C2,D3,E4)的示例:

=AVERAGE(stepWise(B2, 4))