Excel第一行-第二行平均值问题
我有一个旧的Excel表格需要手动填写,我制作了一个新的Excel表格,在表头/标题单元格下的第一行键入公式时,我使用CTRL+T自动填写数据 我的数据在旧版中是垂直的:Excel第一行-第二行平均值问题,excel,excel-formula,average,moving-average,Excel,Excel Formula,Average,Moving Average,我有一个旧的Excel表格需要手动填写,我制作了一个新的Excel表格,在表头/标题单元格下的第一行键入公式时,我使用CTRL+T自动填写数据 我的数据在旧版中是垂直的: Numbers Average (for last 10 Numbers from Left Row) 5,780.00 5,730.00 6,600.00 7,300.00 6,120.00 5,250.00 5,210.00 5,100.00 5,77
Numbers Average (for last 10 Numbers from Left Row)
5,780.00
5,730.00
6,600.00
7,300.00
6,120.00
5,250.00
5,210.00
5,100.00
5,770.00
6,370.00 5923.00
6,000.00 5945.00
5,480.00 5920.00
5,120.00 5772.00
4,990.00 5541.00
这是它的外观,这是我手工制作的。
公式是:
=IF(L11<>"",AVERAGE(L2:L11),"")
来自以下数字:
Numbers
5,780.00
5,730.00
6,600.00
7,300.00
6,120.00
5,250.00
5,210.00
5,100.00
5,770.00
6,370.00
如何将L行中10个垂直数字的平均公式插入到平均-M行中5923.00以上的任何单元格中
我确实知道如何填充行,我可以复制公式,按CTRL+SHIFT+DOWN键查找表的末尾并粘贴公式,但当新数据出现时(导入的CSV更新),新数据将不会填充,我需要Excel自动填充。您可以添加公式所在行的测试,并且仅当公式为11或更高时才返回结果。然后您可以在整个列表中输入它,它将自动填充:
=IF(AND(ROW()>=11,L11<>""),AVERAGE(L2:L11),"")
如果需要,这里是所有问题的答案,如果您有按日期、旧数据向上和新数据向下,那么前10个项目的平均值不能在前10行中计算,如果没有平均值的问题。 以下是单向方向的解决方案:
=IF(AND((ROW())>=11,L2<>""),AVERAGE(OFFSET(M2,-9,-1,10)),"")
=IF(AND((ROW())>=11,L2“”),AVERAGE(偏移量(M2,-9,-1,10)),“”)
偏移量的作用是,从当前单元格M2向上移动+9个位置,然后向左移动1个单元格,从那里向下移动10个单元格以标记范围
若IF语句是错误的,它不会向左上移动,所以并没有错误,在第10行之后,包括第10行,它就是true语句
对于Excel中的表格来说,这更复杂,当您按日期排序时,当最新日期位于顶部时,底部是可用于平均值的数据:
=IF($A$2>$A$3,AVERAGE(OFFSET(M2,0,-1,10)),IF(AND((ROW())>=11,L2<>""),AVERAGE(OFFSET(M2,-9,-1,10)),""))
=IF($A$2>$A$3,平均值(偏移量(M2,0,-1,10)),IF(和((ROW())>=11,L2“”),平均值(偏移量(M2,-9,-1,10)),“”)
我有第一个IF(A2>A3)检查表是如何排序的:
-如果排序为最新-最旧(第一种情况),则从左侧第一行开始取平均值,向下取10位
-如果按相反的顺序排序,则按如下所述:左一位,向上9位,然后取10位
很有魅力,有点长,但很管用 写vba在第10个单元格中输入公式,并将其复制到表格末尾,这不是好的解决方案。那么我需要VBA来完成所有工作,我的意思是这是一个好的解决方案,但atm不可接受:(太大了,需要做的工作太多了。谢谢你的回答。这不太正确。因为当它将公式粘贴到下一行时,平均计算了错误的10个单元格,在M11处它需要L2:L11,现在在M2处,在M3处它是L3:L12,等等。所以当我们到达第11行时,它的范围完全错误:(我没有改变你的基本公式。如果我提供的想法听起来正确,那么调整你的公式以适应。如果不正确,祝你好运!想法听起来不错,但我不确定如何调整它。我需要一些类似于你建议的东西道格,我的公式在M11字段中有效,那么L2:L11以上的平均值是正确的,但当我复制粘贴你的公式时第2行的la,当它下降时,它会将M11公式更改为错误的公式:(不确定我是否知道如何调整它:(,如果可以,请帮助我。谢谢。如何在条件满足之前不更改公式,单元格。如if()做这个范围,但不要增加范围,直到标准满足。只要把它粘贴到M11,然后复制到列的其余部分。你会看到公式中的一些前缀错误在前十行中,但我不认为这是重要的。+ 1好的工作。请考虑通过点击旁边的空勾选来接受我们的答案之一。
=IF(AND((ROW())>=11,L2<>""),AVERAGE(OFFSET(M2,-9,-1,10)),"")
=IF($A$2>$A$3,AVERAGE(OFFSET(M2,0,-1,10)),IF(AND((ROW())>=11,L2<>""),AVERAGE(OFFSET(M2,-9,-1,10)),""))