我有一张excel表,如下所示:
+--id---+--val--+--timestamp--+
| 01 | 1.2 | 1340769912 |
|-------|-------|-------------|
| 02 | 1.6 | 1340769928 |
+-------+-------+-------------+
我想得到60秒范围内的平均值,或时间戳列中的方差60 . 我已经尝试了一些Excel公式等方面的东西,但我不能让它正常工作 . VBA是可行的吗?
编辑:有很多数据和很多分钟,如果我把它复制到一列,我需要这个公式 .
2 回答
如果你有excel 2007或更高版本
=AVERAGEIFS($B$1:$B$2,$C$1:$C$2,"<"&C1+60,$C$1:$C$2,">"&C1-60)
对于任何版本的excel:
=AVERAGE(IF(AND($C$1:$C$2<C1+60,$C$1:$C$2>C1-60),$B$1:$B$2))
使用CTRL SHIFT ENTER作为数组公式输入以输入公式,而不仅仅是ENTER不确定这是否万无一失,但我认为这是一个良好的开端,而且不含VBA .
图片没有正确粘贴,D列的公式应为: