【问题标题】:Implementing the offset function in Excel to calculate simple stats (Formula)在 Excel 中实现偏移函数以计算简单的统计数据(公式)
【发布时间】:2013-08-09 00:56:28
【问题描述】:

我有大量数据,我想计算一些简单的统计数据(总和、平均值、最大值)。数据按列分组,我想做的是为十六列组中的数据计算这些统计信息。可以手动选择要处理的列,但考虑到大量数据(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,但我似乎无法弄清楚。

【问题讨论】:

  • 见编辑。 (我基本上是在寻找一个公式 atm 虽然我认为这同样可以通过脚本来完成)。

标签: excel excel-formula offset


【解决方案1】:

这是您可能追求的概念的证明。我已将其设置为以 4 天为周期计算统计数据,但您应该可以将其扩展到 16 天周期:

  • 我复制了“标签”(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>)<ref> 中选择一个范围(<rows>,<cols>),高度为@987654327 @ 和宽度 <width>。因此,对于单元格 D17,OFFSET(D17,-15,-3,1,4) 选择 C2 中左上角的 1x4 范围。

  • 您可以使用相同的公式获取列标签MAXMEDIANAVG、...

【讨论】:

  • 谢谢。真的有帮助!
猜你喜欢
  • 2011-03-06
  • 1970-01-01
  • 2010-12-09
  • 2015-04-05
  • 1970-01-01
  • 2021-09-02
  • 1970-01-01
  • 2016-10-18
  • 1970-01-01
相关资源
最近更新 更多