Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba Excel范围内行的平均值_Vba_Excel_Excel Formula - Fatal编程技术网

Vba Excel范围内行的平均值

Vba Excel范围内行的平均值,vba,excel,excel-formula,Vba,Excel,Excel Formula,我有一张excel表格,如下所示: +--id---+--val--+--timestamp--+ | 01 | 1.2 | 1340769912 | |-------|-------|-------------| | 02 | 1.6 | 1340769928 | +-------+-------+-------------+ 我想得到60秒范围内的值的平均值,或者时间戳列中60的方差。我试过很多Excel公式等方面的东西,但我不能让它正常工作。VBA是正确的选择吗

我有一张excel表格,如下所示:

+--id---+--val--+--timestamp--+
|  01   |  1.2  | 1340769912  |
|-------|-------|-------------|
|  02   |  1.6  | 1340769928  |
+-------+-------+-------------+
我想得到60秒范围内的值的平均值,或者时间戳列中60的方差。我试过很多Excel公式等方面的东西,但我不能让它正常工作。VBA是正确的选择吗


编辑:有很多数据和很长的时间,如果我把它复制到一列中,我需要这个公式来工作。

不确定这是否是万无一失的,但我认为这是一个好的开始,而且不需要VBA

图片粘贴不正确,D列的公式应为:

=ABS(TEXT($F$2,"hmmss")-TEXT(C2,"hmmss"))

如果您有excel 2007或更高版本
=AVERAGEIFS($B$1:$B$2,$C$1:$C$2,”&C1-60)

对于任何版本的excel:

=平均值(如果(和($C$1:$C$2C1-60),$B$1:$B$2))
以数组公式的形式输入,使用CTRL+SHIFT+ENTER输入公式,而不是只输入

+1我同意。我在这条轨道上,然后我想OP的时间戳可能是日期格式的,在这种情况下,这将是加/减60天。然而,鉴于OP中的文本,我认为这是正确的。Tada,适用于第一集。我如何在大规模(5000个条目)上使用它,而不必每次更改公式$C$1:$C$XXXX定义您的时间范围,$B$1:$B$XXX定义您的平均值,C1定义您正在查看的时间。将公式的这些部分指向您正在查看的任何内容,您可以将公式复制/粘贴到您需要的任何位置to@SeanCheshire这不是我想要的。E列是与第一次的差异,因此理论上,在E列达到60之前,平均数应该是相同的,而事实并非如此。我认为问题在于标准声明:
&C1+60
&C1-60
。我不是这方面的专家,但这是我的逻辑评估。这些给出了时间点周围的范围-使用
+60
-60
,您看到的距离
C1
中的时间最多60秒。如果需要不同的范围,请更改+和-。