我有大量的数据,我想计算一些简单的统计数据(总和,平均值,最大值)。数据按列分组,我想要做的是以十六列为一组计算数据的这些统计数据。可以手动选择要处理的列,但是如果有大量数据(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个参考单元格,但我似乎无法弄明白。
答案 0 :(得分:1)
以下是您可能会追求的概念证明。我已将其设置为计算四天周期的统计数据,但您应该能够将其延长至16天周期:
单元格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中左上角的1x4范围。
OFFSET(D17,-15,-3,1,4)
,MAX
,MEDIAN
,...