Excel第一行-第二行平均值问题

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

我有一个旧的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,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)),""))