【问题标题】:How to find the average of every six cells in Excel如何在Excel中找到每六个单元格的平均值
【发布时间】:2016-02-02 19:28:55
【问题描述】:

这是一个相对常见的问题,所以我不想因为提出以前被问过的问题而被否决。我将解释我使用 StackOver Flow 和其他来源回答这个问题所采取的步骤,以便您可以看到我已经尝试在没有解决问题的情况下解决它。

我有一组值如下:

 O       P    Q      "R"   Z
6307    586 92.07   1.34    
3578    195 94.83   6.00    
3147    234 93.08   4.29    
3852    227 94.43   15.00   
3843    171 95.74   5.10    
3511    179 95.15   7.18    
6446    648 90.87   1.44    
4501    414 91.58   0.38    
3435    212 94.19   6.23    

我想取“R”行中前六个值的平均值,然后将该平均值放在 Z 第六行的第六列中:

 O       P    Q      "R"   Z
 6307   586 92.07   1.34    
3578    195 94.83   6.00    
3147    234 93.08   4.29    
3852    227 94.43   15.00   
3843    171 95.74   5.10    
3511    179 95.15   7.18 6.49
6446    648 90.87   1.44    
4501    414 91.58   0.38    
3435    212 94.19   6.23        
414     414 91.58   3.49    
212     212 94.19   11.78   
231     231 93.44   -1.59 3.6   
191     191 94.59   2.68    
176     176 91.45   .75 
707     707 91.96   2.68    
792     420 90.95   0.75    
598     598 92.15   7.45    
763     763 90.66   -4.02   
652     652 91.01   3.75    
858     445 58.43   2.30  2.30

我利用了我得到的以下公式

=AVERAGE(OFFSET(R1510,COUNTA(R:R)-6,0,6,1))

但我收到的答案与我通过简单地取前六个单元格的平均值获得的答案不同:

=AVERAGE(R1505:R1510)

然后我从 Stack OverFlow (excel averaging every 10 rows) 对话中尝试了以下代码,这与我想要的非常相似

=AVERAGE(INDEX(R:R,1+6*(ROW()-ROW($B$1))):INDEX(R:R,10*(ROW()-  ROW($B$1)+1)))

但我无法得到类似于我死记硬背的答案

==AVERAGE(R1517:R1522)

我还在下面找到了另一种方法,但无法准确更改编码(例如 F3 到 R1510)

=AVERAGE(OFFSET(F3,COUNTA($R$1510:$R$1517)-1,,-6,))

对于一组明显为正的数据,这样做给了我一个负数。这是-6.95。

【问题讨论】:

    标签: excel offset


    【解决方案1】:

    把这个放在 Z1 中并复制下来:

    =IF(MOD(ROW(),6)=0,AVERAGE(INDEX(R:R,ROW()-5):INDEX(R:R,ROW())),"")
    

    【讨论】:

    • 这绝对是完美的。唯一的问题是我如何改变做同样的事情,但每 5 个细胞而不是 6 个。我假设它是以下内容: =IF(MOD(ROW(),5)=0,AVERAGE(INDEX(R:R,ROW()-4):INDEX(R:R,ROW())),"" )
    • @Dleightful for every 5: =IF(MOD(ROW(),5)=0,AVERAGE(INDEX(R:R,ROW()-4):INDEX(R:R,ROW())),"") 如果您将此标记为正确,我们将不胜感激。点击答案旁边的绿色复选标记。
    • @Dleightful 如果你想让它更具动态性,请放入一个单元格,比如 N1,即所需的每个行号。然后使用这个公式 (=IF(MOD(ROW(),N1)=0,AVERAGE(INDEX(R:R,ROW()-(N1-1)):INDEX(R:R,ROW())),""),您只需更改 N1 的值,它就会将行数更改为平均值。
    猜你喜欢
    • 2021-12-05
    • 2021-02-03
    • 1970-01-01
    • 2020-08-23
    • 1970-01-01
    • 1970-01-01
    • 2012-04-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多