使用excel基于无绝对范围的计算进行计数

时间:2013-06-19 12:55:59

标签: excel excel-formula excel-2010

我有一张连接到txt文件的Excel表格,并自动刷新。我设法将数据放入工作表中。以下是两行示例:

1367945797  0,000   MainThread  ---
1367945798  0,709   MainThread  200

第一列包含一个unix时间戳,Excel不理解为日期/时间信息。我知道我可以使用以下公式转换时间戳:

=(((A1/60)/60)/24)+DATE(1970;1;1)

第二列包含以毫秒为单位的响应时间。

目标:
我想计算时间所在的行数:

Hour(formula_above) equals 16

,并计算此时的平均响应时间

我正在尝试创建一个图表,显示一天中每小时(1-24小时)的平均响应时间。

值得注意的是,由于新数据进入我的数据表,我没有绝对范围。

我尝试使用CountIF()但它看起来不像它可以计算,并使用计算值作为if语句。

处理此问题的其他任何方法?

是否有一个简单的函数可以在整个范围内进行迭代(例如:Sheet1!A:A)并在每次迭代中给出值,我可以在每次迭代时返回一个值/布尔值,并使用countif或其他公式来做一些神奇的东西?

1 个答案:

答案 0 :(得分:0)

如果您的原始时间戳位于A列,则可以使用此数组公式根据A列的第16小时对B列求平均值

=AVERAGE(IF(HOUR(A:A/86400)=16;B:B))

使用 CTRL + SHIFT + ENTER确认

或者你可以使用辅助列来拉出小时,例如在C2中复制了

=HOUR(A2/86400)

然后你可以像这样使用AVERAGEIF

=AVERAGEIF(C:C;16;B:B)