【问题标题】:Excel - Average every 3 rows AND insert answer every 3 rowsExcel - 每 3 行平均并每 3 行插入答案
【发布时间】:2018-11-08 03:42:09
【问题描述】:

总体问题:我希望能够在现有表中创建一个列 (M),该列将 L 列的三个值取平均值并将其插入到 相邻 单元格中。

例子:

  Row          I              J            K             L        M
   1     [Sample number]  [Replicate]  [Hours Exposed]  [YI]   [AVERAGE YI]
   2           1              1             0            12       13
   3           1              2             0            13    
   4           1              3             0            14
   5           2              1             0            10       11
   6           2              2             0            11
   7           2              3             0            12

如果有帮助,请提供其他上下文:化学数据。目标是对一式三份的测试结果进行平均,以获得特定样本的总体值。还希望能够设置数据库,以便在添加其他数据时自动计算所有内容,我可以从中提取数据来创建数据透视图

这个答案 (excel averaging every 10 rows) 几乎 正是我所需要的,该公式完美运行,但它将答案插入到顺序单元格中(B1、B2、B3)所以我的“平均”列与相关样本不一致

这个答案 (How to find the average of every six cells in Excel) 几乎也能正常工作,只是做了一些更改以匹配我的输入,但我有一个标题行,所以所有内容都从第 2 行开始,并且由于某种原因破坏了数学。所有生成的值都是错误的,因为它们被移动了一个单元格,我无法弄清楚如何告诉它“从 L2 开始,而不是 L1”

【问题讨论】:

  • 试试=IF(MOD(ROW()-1,3)=0,AVERAGE(INDEX(L:L,ROW()-2):INDEX(L:L,ROW())),"") - 这实际上可能不起作用,因为它将值放在范围内的第三个单元格中,而不是三个范围内的第一个单元格中
  • 我会说 =IF(MOD(ROW()+1,3)=0,AVERAGE(L2:L4),"") 就足够了,其余的通过相对寻址作为公式被下拉。

标签: excel excel-formula


【解决方案1】:

你可以试试

=IF(MOD(ROW()+1,3)=0,AVERAGE(OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN()-1,4)),0,0,3,1)),"")

【讨论】:

  • 嗨,QHarr!尝试了修改,看起来这只是为每个样本的复制 2 提取 L 中的值并将其插入到列 M 中,而不是取所有 3 的平均值。在我的示例中使用简化值似乎是正确的平均值 = 中间数
  • 我不知道 Replicate 2 是什么,但它需要从第 2 行开始的每 3 行的平均值。
  • 所以我得到的是它计算 (5.55, 5.17, 5.42) 的平均值为 5.17(所以拉第二个数字,我称之为复制 2)而不是实际平均值为 5.38
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-12
  • 2018-06-17
  • 1970-01-01
相关资源
最近更新 更多