我有一个包含如下数据的csv文件:
1,Success,19:1:6:445
1,Success,19:1:7:652
1,Success,19:1:10:172
1,Success,19:1:11:500
1,Success,19:1:12:893
...
目标是计算上面一行的时差。 例如,从第1行到第2行的持续时间= 1000ms + 652-445ms = 1207 ms
答案 0 :(得分:2)
首先,将您的CSV
加载到excel并使用以下列的文本进行解析:
结果将如下:
在G1
中使用此公式可获得毫秒差异
=SUMPRODUCT(C2:F2-C1:F1,{3600000,60000,1000,1})
你有毫秒差距。
答案 1 :(得分:1)
Excel不知道毫秒。当您加载CSV时,那些" 19:1:6:445"条目将以文本形式出现。您必须添加一些公式来半手动解析它们。突变日期条目将以C列结尾,因此我将公式从D列开始并向右移动。
在D1中,找到第三个冒号的位置,即分隔毫秒的位置。
=FIND(":", C1, FIND(":", C1, FIND(":", C1, 1)+1)+1)
在E1中,获取Excel 可以解析的日期值,包含秒和更大的部分。
=TIMEVALUE(LEFT(C1,D1-1))
和在F1中,毫秒部分的日期值。那师?每小时秒数,每天小时数,每秒毫秒数。
=NUMBERVALUE(MID(C1,D1+1,30))/3600/24/1000
现在,重新组合G1中的两个,
=E1+F1
并向下填充这些列以获取所有导入单元格的值 - 毫秒。毫秒的差异可以从第2行开始,所以在H2中你可以使用
=(G2-G1)* 3600 * 24 * 1000
转换回可读的毫秒数。
如果您对公式有所了解,那么将E,F和G列合并起来并不困难,但为了清楚起见,我将它们分开。另请注意,您在此处理浮点值;这意味着您将偶尔出现一个错误。