【问题标题】:Excel - Average of Step-wise Dynamic RangeExcel - 逐步动态范围的平均值
【发布时间】:2018-12-17 19:25:25
【问题描述】:

我的目标是取二维逐步动态范围的平均值。逐步表示参考单元格的右侧和左侧一个,x 次。例如,如果我有下表,我想取 A1、B2、C3、D4 和 E5 的平均值,这些单元格是动态范围的一部分。因此,如果我将参考单元格更改为 B2,它将取 B2、C3、D4 和 E5 的平均值。我已经进行了研究,OFFSET 或 Sumproduct 的变体可能会起作用;但是,对于逐步结构,没有什么特别的。任何帮助将不胜感激!

Example Table

【问题讨论】:

  • 您最好使用 VBA 用户定义的函数来处理这个公式技巧。

标签: excel dynamic range dimensional


【解决方案1】:

以下用户定义的函数返回一个“逐步”数字数组,您可以对这些数字求和、平均等。

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))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-04
    • 2021-03-29
    • 2019-12-05
    • 1970-01-01
    相关资源
    最近更新 更多