我有一张excel表格如下:
+--id---+--val--+--timestamp--+
| 01 | 1.2 | 1340769912 |
|-------|-------|-------------|
| 02 | 1.6 | 1340769928 |
+-------+-------+-------------+
我希望在时间戳列中获得60秒范围内的平均值或60的方差。我已经在Excel公式等方面尝试了很多东西,但我无法正常工作。 VBA是可行的吗?
编辑:有很多数据和很多分钟,如果我将它复制到一列,我需要这个公式。
答案 0 :(得分:4)
如果你有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作为数组公式输入以输入公式,而不仅仅是输入
答案 1 :(得分:1)
不确定这是否万无一失,但我认为这是一个良好的开端,而且不含VBA。
图片没有正确粘贴,D列的公式应为:
=ABS(TEXT($F$2,"hmmss")-TEXT(C2,"hmmss"))