如何自动对 Google 工作表中的每一列在各自单独的单元格中进行平均?

How to automatically average every column in Google Sheets in their own seperate cells?

我在一个文件中有 2 个 sheet,我想按顺序取第二个 sheet 中各列的平均值(A、B、C、D、E、F 列, ETC。)。手动输入会花费我很长时间,因为有很多列。有什么方法可以自动执行此操作并将它们放置在从上到下从左到右的单元格中,就像我的图片显示的那样?

我的 sheet 长什么样:

  • 创建一个新的点差sheet并命名为A
  • 删除除第一行以外的所有行
  • 添加列,使您得到一个范围 A1:IZ1
  • 将此公式粘贴到 G1 单元格中:=IFERROR(AVERAGEA(Data!D5:D100))
  • select G1 单元格
  • CTRL + SHIFT + 右箭头
  • CTRL + ENTER
  • 转到 Stats sheet 并删除所有 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 之后)
  • 末尾的
  • a 70是紫色集最后一列的编号,在BR列结束(BR = 70) 绿色集结束于 CF 所以这是第 84 列等等...
  • 7 表示跳转 eg.获取 A!A1:1
  • 的每 7 个值
  • 6 表示对偏移的修复,因为您合并了 7 列(A5:G5H5:N5, 等等)