【问题标题】:finding the highest total for a consecutive group of entries in a column - EXCEL查找列中连续一组条目的最高总数 - EXCEL
【发布时间】:2015-09-17 16:29:10
【问题描述】:

而不是找到最高的单个条目,我想要一组连续的 n 个条目的最高总数,例如在 100 个值的列中,我想查找总和为最大值的 10 个连续单元格

我以 10 为例,我希望能够轻松更改。

【问题讨论】:

  • 你想要连续单元格的最大总和value还是location??
  • 这对公式来说是一项非常艰巨的任务。您愿意接受用户定义函数解决方案吗?

标签: excel excel-formula formula formulas


【解决方案1】:

A1A100 中的数据,在 B10 中输入:

=SUM(A1:A10)

并通过B100

向下复制

然后在另一个单元格中,使用:

=MAX(B:B)

【讨论】:

    【解决方案2】:

    到目前为止,最简洁的方法是使用用户定义函数 (UDF)。

    这里有一个小程序可以做到这一点。将此例程放在标准代码模块中:

    Function MaxN(n&, r As Range)
        Dim i&, j&, m#, t#, v
        v = r.Value2
        For i = 1 To UBound(v)
            If UBound(v) - i + 1 >= n Then
                t = 0
                For j = i To i + n - 1
                    t = t + v(j, 1)
                Next
                If t > m Then m = t
            Else
                Exit For
            End If
        Next
        MaxN = m
    End Function
    

    然后在您要计算最大值的工作表上,选择您希望计算返回的单元格并输入以下公式:

    =MaxN(10,A1:A100)
    

    就是这样。

    使用此 UDF,您可以轻松地将“10”更改为您喜欢的任何值,并且您可以通过更改公式轻松调整垂直范围的位置和大小。

    【讨论】:

    • 这正是我想要的。
    【解决方案3】:

    数组公式版本(需用Ctrl+Shift+Enter确认)

    =MAX(A1:A100+A2:A101+A3:A102+A4:A103+A5:A104+A6:A105+A7:A106+A8:A107+A9:A108+A10:A109)
    

    (将来可能不是最容易维护的)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多