如何自动平均自己单独的单元格中Google表格中的每一列?

时间:2019-05-26 22:33:35

标签: filter google-sheets array-formulas google-sheets-formula textjoin

我在一个文件中有2张纸,我想顺序取第二张纸中各列的平均值(列A,B,C,D,E,F等)。因为有很多列,所以我需要很长时间才能手动输入。有什么方法可以自动执行此操作,并将它们放在我的图像显示的从上到下从左到右的单元格中?

我的工作表是什么样的:

What my sheet looks like

1 个答案:

答案 0 :(得分:0)

  • 创建一个新的电子表格,并将其命名为 A
  • 删除除第一行外的所有行
  • 添加列,以便最终得到一个范围 A1:IZ1
  • 将此公式粘贴到 G1 单元格:=IFERROR(AVERAGEA(Data!D5:D100))
  • 选择 G1 单元格
  • CTRL + SHIFT + 右箭头
  • CTRL + ENTER
  • 转到您的Stats工作表并删除所有AVERAGEA公式,例如第5、7、9等行。
  • 将此粘贴​​到 Stats!A5 单元格中:

=ARRAYFORMULA(ARRAY_CONSTRAIN(SUBSTITUTE(SPLIT(TEXTJOIN("♦", 1, 
 REPT(FILTER(A!A1:BR1, NOT(MOD(COLUMN(A!A1:BR1), 7)))&"♦♠", 6)), "♦"), "♠", ), 1, 70))

  • 将此粘贴​​到 Stats!A7 单元格中:

=ARRAYFORMULA(ARRAY_CONSTRAIN(SUBSTITUTE(SPLIT(TEXTJOIN("♦", 1, 
 REPT(FILTER(A!B1:BS1, NOT(MOD(COLUMN(A!A1:BR1), 7)))&"♦♠", 6)), "♦"), "♠", ), 1, 70))

  • 将其粘贴到 Stats!A9 单元格中:

=ARRAYFORMULA(ARRAY_CONSTRAIN(SUBSTITUTE(SPLIT(TEXTJOIN("♦", 1, 
 REPT(FILTER(A!C1:BT1, NOT(MOD(COLUMN(A!A1:BR1), 7)))&"♦♠", 6)), "♦"), "♠", ), 1, 70))

  • 将此粘贴​​到 Stats!A11 单元格中:

=ARRAYFORMULA(ARRAY_CONSTRAIN(SUBSTITUTE(SPLIT(TEXTJOIN("♦", 1, 
 REPT(FILTER(A!D1:BU1, NOT(MOD(COLUMN(A!A1:BR1), 7)))&"♦♠", 6)), "♦"), "♠", ), 1, 70))

  • 将此粘贴​​到 Stats!A13 单元格中:

=ARRAYFORMULA(ARRAY_CONSTRAIN(SUBSTITUTE(SPLIT(TEXTJOIN("♦", 1, 
 REPT(FILTER(A!E1:BV1, NOT(MOD(COLUMN(A!A1:BR1), 7)))&"♦♠", 6)), "♦"), "♠", ), 1, 70))

  • 等(唯一改变的是FILTER之后1以后的范围)
  • 结尾的70是紫色集的最后一列的编号,该集的结尾是 BR 列( BR = 70),绿色集的结尾是 CF ,这是第84列,等等...
  • 7代表跳转,例如获取 A!A1:1
  • 的每7个值
  • 6代表了偏移量的解决方案,因为您合并了7列( A5:G5 H5:N5 等)

0