从数据列中选择动态数据

时间:2013-06-26 12:55:14

标签: excel performance excel-vba vba

美好的一天,我有两个问题需要重新解决。

我有两列,左边一列是7天内的一列速度读数,其中每辆车经过动态读数。本栏右侧是速读的日期和时间。需要将读数整理成每小时读数,例如1700hrs到1800hrs等我已经成功使用countifs,但是因为数据是动态的,我需要能够有excel vba这样做。然后知道每小时时间片的数据范围,我需要应用统计函数,=百分位数(x,0.85)来获得一小时内速度测量的第85百分位。

有人可以帮助将其变成vba格式吗?

我已经创建了一个指向下面的文件的链接

SpeedDataCalculations

提前致谢

科林

1 个答案:

答案 0 :(得分:0)

这是使用Excel 2010完成的,并假设您的数据在表中。我这样设置:

enter image description here

该表格包含您的时间和速度条目。

使用“时间增量”和“百分位”列进行分析。我假设您的增量上升到昨天的午夜,例如,在这种情况下为6/25/2013 00:00。通过将此公式放在D2

中,我使这些增量动态化

=INT(NOW())-1

然后在单元格D3中,我将此公式并将其复制到D169,给出一周的每小时增量:

=D2-(1/24)

最后在E栏中,我使用 Ctrl - Shift - Enter 输入此array formula

=PERCENTILE( IF((Table1[Time]<=D2)*(Table1[Time]>D3),Table1[Speed],""), 0.85)

这表示获得表中所有速度的第85百分位数,其中时间小于或等于D列的同一行中的时间,并且大于一个单元格下降的时间。