0

我有一个连接到 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 或其他公式来做一些神奇的事情?

4

1 回答 1

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)

于 2013-06-19T13:27:26.453 回答