【问题标题】:Array Formula with AverageIF of a row具有行的 AverageIF 的数组公式
【发布时间】:2020-03-31 17:53:43
【问题描述】:

我在 Google 表格中有一个公式,它对连续的值进行平均...

=AVERAGEIF(A2:L2,"<>0")

简单吧?

但是,我不知道如何让 ARRAYFORMULA 为这个工作。

=ARRAYFORMULA(AVERAGEIF(A2:L,"<>0")

该公式仅对范围内的所有单元格进行平均,而不是返回每行的平均值。我错过了什么?

【问题讨论】:

    标签: google-sheets average google-sheets-formula array-formulas google-sheets-query


    【解决方案1】:

    你很亲密。试试:

    =ARRAYFORMULA(QUERY(TRANSPOSE(QUERY(TRANSPOSE(A2:L),
     "select "&TEXTJOIN(",", 1, IF(LEN(A2:A),
     "avg(Col"&ROW(A2:A)-ROW(A2)+1&")", ))&"")), 
     "select Col2"))
    

    然后添加您需要的&lt;&gt;0

    =ARRAYFORMULA(QUERY(TRANSPOSE(QUERY(TRANSPOSE(A2:L),
     "select "&TEXTJOIN(",", 1, IF(LEN(A2:A),
     "avg(Col"&ROW(A2:A)-ROW(A2)+1&")", ))&
     "where "&TEXTJOIN(" and ", 1, IF(LEN(A2:A), 
     "not Col"&ROW(A2:A)-ROW(A2)+1&"=0", ))&"")), 
     "select Col2"))
    

    【讨论】:

    • 这对我不起作用。我得到一个公式解析错误。我通过在一个列中求和,计算非零单元格,并以这种方式计算平均值来解决问题。这需要 3 列而不是 1 列,但它有效。
    • 你能分享一份你的工作表吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-08
    相关资源
    最近更新 更多