【问题标题】:Google Sheets Average of Each Row每行的 Google 表格平均值
【发布时间】:2021-03-03 21:38:20
【问题描述】:

这个公式给出了整个范围内的单个平均结果,也不是动态的。

=AVERAGE(FILTER($B:$E,ARRAYFORMULA(ROW($B:$E)>COUNT($B:$E))))

我需要的公式是:

  • 从第二行向下计算每行 1 个平均结果。
  • 只计算行中具有值的前 4 个单元格,忽略空白单元格。

Demo sheet

【问题讨论】:

  • 请记住,在未来,除了图像之外,共享样本表可以让人们不必重新输入您的数据来测试他们的解决方案。谢谢。
  • @kirkg13:你能告诉我们预期的结果吗?只是为了确保我们理解正确......

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


【解决方案1】:

更简单的选项,必须抄下来:

=AVERAGE(ARRAY_CONSTRAIN((FILTER(C2:2,ISNUMBER(C2:2))),1,4))

【讨论】:

    【解决方案2】:

    在 B4 中使用:

    =query(transpose(query(transpose(C4:H), 
     "select "&textjoin(",", 1, ArrayFormula(if(len(A4:A),
     "avg(Col"&ROW(A4:A)-ROW(A4)+1&")", )))&"")), 
     "select Col2")
    

    【讨论】:

    • 在某些情况下发现您的公式存在问题。如果 A 列中有值,但从 C 开始的同一行中没有值,则公式不起作用。添加了演示表。如果您认为打开一个新问题来进一步讨论框架更好,请告诉我。
    • @Preack 已修复。看你的表
    • 你是爆破老板。
    【解决方案3】:

    这对你有用吗? 在 B4 中试试这个公式,然后向下拖动。

    =TRANSPOSE(QUERY(
                 QUERY({TRANSPOSE(C4:H4)},"select Col1 where Col1 >0 limit 4",0),
                 "select sum(Col1)/count(Col1) where Col1>0 label sum(Col1)/count(Col1) ''",0))
    

    如有任何问题,请告诉我们。 如果这似乎可行,我会添加一些解释。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多