在Excel中实现偏移功能以计算简单统计(公式)

时间:2013-08-09 00:56:29

标签: excel excel-formula offset

我有大量的数据,我想计算一些简单的统计数据(总和,平均值,最大值)。数据按列分组,我想要做的是以十六列为一组计算数据的这些统计数据。可以手动选择要处理的列,但是如果有大量数据(365列x 601552行),我很可能会犯错误。我一直想弄清楚的是如何让Excel在每次计算完成时取代所选的单元格。我知道这需要使用偏移功能,但我无法弄清楚如何使其工作。任何指针都将受到高度赞赏。谢谢!

编辑: 基本上,数据如下所示:

LAT   LONG       1      2      3       4    …    365
-40  -20     10.50   0.00   1.70    0.00    …   0.00
-40  -19.9   19.00   5.00   0.00    0.00    …   9.30
-40  -19.8    0.00   0.00   0.00    5.60    …   0.00
-40  -19.7   12.00   3.40   0.00    0.00    …   0.00
  …      …       …      …      …       …    …      …
 40   55      0.00   0.00   7.60    7.00    …   0.00

对于一大组坐标,基本上是365天的降雨量。我想要做的是整理16天聚合中每个坐标的基本统计数据(总和,平均值和最大降雨量)(22个完整的16天聚合加上一个13天或14天,取决于它是否是闰年) 。我现在使用的公式是= SUM(OFFSET(C2 ,,, 1,16)),它适用于第一列(参考单元格C2),但我想在整个工作表中复制它。我认为有一种方法可以让它每次增加16个参考单元格,但我似乎无法弄明白。

1 个答案:

答案 0 :(得分:1)

以下是您可能会追求的概念证明。我已将其设置为计算四天周期的统计数据,但您应该能够将其延长至16天周期:

enter image description here

  • 我复制了“标签”(LAT / LONG值)以复制索引。
  • 单元格D17中的公式是

    =IF(MOD(COLUMN()-2,4)=0,AVERAGE(OFFSET(D17,-15,-3,1,4)),
     IF(MOD(COLUMN()-2,4)=3,MEDIAN(OFFSET(D17,-15,-2,1,4)),
     IF(MOD(COLUMN()-2,4)=2,MAX(OFFSET(D17,-15,-1,1,4)),"")))
    

    其中条件仅显示基于您所在列的特定统计信息。语法OFFSET(<ref>,<rows>,<cols>,<height>,<width>)从{{1}中选择范围(<rows><cols>)高度为<ref>且宽度为<height>的高度。因此,对于单元格D17,<width>选择C2中左上角的1​​x4范围。

  • 您可以使用相同的公式获取列标签OFFSET(D17,-15,-3,1,4)MAXMEDIAN,...