如何使一个工作的平均时间完成?
我有以下types的数据:
**15**/02/2017 0:58 **12**/02/2017 0:12
而且我想平均做出这个工作完成的时间。 这是一个巨大的文件,20万行,我不关心一天,只有当工作通常完成。 问题是,如果一个小时在0:00以下,而另一个在上面,并且它们是从非连续的日子开始的 ,则操作不起作用。 我相信这是因为date与unix中的date类似,超过了某个阈值date的毫秒数。
我试过的:我想到了两种方法:
1)我把每一行都转换为01/01/1990或02/01/1990,因为我不在乎那一天,只有一小时。 然后我尝试计算平均值。
2)我将date转换为毫秒,并将excel的基准date减去每个单元格,从那里我做一个正常的平均值。
第一个问题是,我不知道如何访问Excel中某个date的特定信息,比如,几小时和几分钟,所以我觉得这样做很麻烦,因为我不知道语法(到目前为止,我有类似= IF (B:B <=时间(0:00);“01/01/1900”;“02/02/1900”),但它仍然缺乏信息,不工作)。
第二个问题是,我觉得我更倾向于犯错误,过于复杂,只是计算平均小时数,太多的操作。 但是我对excel知之甚less,所以我不确定在这种情况下更长的path可能会更准确。
使用这个数组公式得到平均时间:
=AVERAGE(MOD(A1:A2,1))
作为一个数组公式,在退出编辑模式时,需要使用Ctrl-Shift-Enter而不是Enter来确认。 如果正确完成,则Excel将在公式周围放置{}
。
然后格式化单元为hh:mm:ss
要得到平均小时,如果它然后使用这个:
=TIME(ROUNDDOWN(IF(AVERAGE(IF(HOUR(A1:A2)<=12,HOUR(A1:A2),HOUR(A1:A2)-24))<0,24,0)+AVERAGE(IF(HOUR(A1:A2)<=12,HOUR(A1:A2),HOUR(A1:A2)-24)),0),0,0)
您也许可以使用string操作将小时数提取到辅助列中,并对该列运行平均值:
假设您发布的格式是严格的格式,则所有date都在A列中提供,
=VALUE(MID(A1,SEARCH(" ",A1,1)+1,SEARCH(":",A1,1)-SEARCH(" ",A1,1)-1))
然后简单地平均帮手列。