【问题标题】:Average of dynamic row range动态行范围的平均值
【发布时间】:2014-09-03 19:59:05
【问题描述】:

我有一个由零和数字组成的行表,如下所示:

A B C D E F G H I J K L M N 0 0 0 4 3 1 0 1 0 2 0 0 0 0 0 1 0 1 4 0 0 0 0 0 1 0 0 0 9 5 7 9 10 7 2 3 6 4 4 0 1 0

我想计算包括零在内的数字的平均值,但从第一个非零值开始,并在表格结束后将其放入列中。例如。对于第一行,第一个值为 4,所以平均值 - 11/11;第二个 - 7/13;最后一个是 67/14。

我如何使用 excel 公式做到这一点?可能是OFFSET 嵌套了IF

【问题讨论】:

    标签: arrays excel excel-formula worksheet-function


    【解决方案1】:

    这仍然需要作为数组公式输入(ctrl-shift-enter),但它不是易失性的:

    =AVERAGE(INDEX(($A2:$O2),MATCH(TRUE,$A2:$O2<>0,0)):$O2)
    

    或者,取决于位置:

    =AVERAGE(INDEX(($A2:$O2);MATCH(TRUE;$A2:$O2<>0;0)):$O2)
    

    【讨论】:

    • 谢谢!我完全忘记了数组公式。
    【解决方案2】:

    无论你包含多少个 0,总和都是相同的,所以你只需要担心除以什么,你可以使用嵌套的 IFs 来确定,或者从中获取提示:@987654321 @

    【讨论】:

      【解决方案3】:

      感谢 Scott Hunter 提供良好的参考。
      我用一个巨大的公式解决了这个问题,我觉得这有点尴尬。
      这里是: =AVERAGE(INDIRECT(CELL("address";INDEX(A2:O2;MATCH(TRUE;INDEX(A2:O2&lt;&gt;0;;);0)));TRUE):O2)

      【讨论】:

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