【问题标题】:Average of non contiguous range in other sheets其他工作表中非连续范围的平均值
【发布时间】:2020-03-31 18:21:23
【问题描述】:

正如您在图片中看到的,我有一个“主要”工作表和一些其他工作表。

我已经做了一个公式:

  1. 引用另一个工作表(名称在单元格中)
  2. 提取一个非连续单元格数组(每个单元格从一个显式单元格开始,每 10 个)
  3. 计算平均值。

=AVERAGEIF(ArrayFormula(mod((row(indirect($A$14&"!H3"))- 
 row(indirect($A$14&"!H3")));10));0;indirect($A$14&"!H3"))

问题是这个公式不能拖动,因为引用H3是一个字符串,不会自己改变。

我还有一个公式:

=AVERAGEIF(ArrayFormula(mod((row(ns0.5!H3)-row(ns0.5!H3));10));0;ns0.5!H3)

同样的问题是在这里我必须更改工作表的名称(包含在 A 列中)

所以我要求一个公式(或脚本):

  1. 使用单元格内容自行更改引用工作表的名称
  2. 拖动时自行更改列/行引用

我报告主表的图片和一张表的图片(ns0.5

编辑:

如您所见,0.4547 不是 0.4547 和 0.4493 之间的平均值

【问题讨论】:

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


    【解决方案1】:

    您可以像这样释放 H3

    =AVERAGEIF(ARRAYFORMULA(MOD((
     ROW(INDIRECT($A$14&"!"&ADDRESS(ROW(H3); COLUMN(H3); 4)))-
     ROW(INDIRECT($A$14&"!"&ADDRESS(ROW(H3); COLUMN(H3); 4)))); 10)); 0;
         INDIRECT($A$14&"!"&ADDRESS(ROW(H3); COLUMN(H3); 4)))
    

    【讨论】:

    • 好的,谢谢,它有效,但我注意到没有 ArrayFormula,我正在尝试添加它但没有结果...如何添加 ArrayFormula 部分?
    • 我相信你,但谷歌表格没有帮助:(见编辑)
    • 对不起,更新和我编辑的完全一样
    • 这是正确的公式:=AVERAGEIF(ArrayFormula(mod((row(ns0.5!H3:H)-row(ns0.5!H3:H));10));0;ns0.5!H3:H)=AVERAGEIF(ArrayFormula(mod((row(indirect($A$14&"!H3:H"))- row(indirect($A$14&"!H3:H")));10));0;indirect($A$14&"!H3:H"))
    • @NooneBug =AVERAGEIF(ArrayFormula(mod((row(ns0.5!H3:H)-row(ns0.5!H3:H)),10)),0,ns0.5!H3:H) =AVERAGEIF(ArrayFormula(mod((row(indirect($A$14&"!"&ADDRESS(ROW(H3); COLUMN(H3); 4)))- row(indirect($A$14&"!"&ADDRESS(ROW(H3); COLUMN(H3); 4)))),10)),0,indirect($A$14&"!"&ADDRESS(ROW(H3); COLUMN(H3); 4)))
    猜你喜欢
    • 1970-01-01
    • 2018-12-07
    • 2015-06-04
    • 1970-01-01
    • 2021-08-22
    • 2012-05-11
    • 2017-07-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多