EXCEL中如何将时间段使用函数计算出持续时间

例如一列数据全部为时间段15:03-19:44这样的格式,后一列想要显示出这段时间是多少小时,有没有这样的函数呢 而且要换算成天数 少于4小时算0.5天 4-8小时算 1天 8-12小时算0.5天 如此类推!

以Excel2007为例:

1、时间段有两种情况,一种起始时间和终结时间分开在两个单元格,一种合在一个单元格,如下图:

2、如果是第一种情况,直接相减,把格式设成"hh:mm:ss"即可,在C2单元格输入公式“TEXT(B2-A2,"hh:mm:ss")”输入完回车,此处用“TEXT“函数把”B2-A2“格式转成时:分:秒,再下拉填充公式,如下图:

3、如果是第二种情况,要先用”RIGHT“和”LEFT“函数从时间段里提取终结时间和起始时间,现用”VALUE“函数转成值进行相减运算,结后同上用“TEXT“函数把格式转成时:分:秒,F2单元格完整公式为”=TEXT(VALUE(RIGHT(E2,8))-VALUE(LEFT(E2,8)),"hh:mm:ss")“输入完回车,再下拉填充公式,如下图:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-09
=CEILING((--MID(A1,FIND("-",A1)+1,100)-LEFT(A1,FIND("-",A1)-1))*24,4)*0.5/4本回答被提问者和网友采纳
第2个回答  2013-12-24
用分列功能将“12:00-13:30”这种挤在一个单元格里的数据,分离到2个单元格内
即起始时间与结束时间分开存放
这样公式简单多了

分列的方法
全选C列,插入2列新列
全选B列
菜单栏上 数据--分列--分隔符号--其他--在右边空框内输入一短横--完成
其他的数据列也照样做吧
第3个回答  2013-12-24

不需要用到这么复杂,用简单一个数组公式就可以了。

=SUM(IF(B4:F4="",0,(RIGHT(B4:F4,LEN(B4:F4)-FIND("-",B4:F4))-LEFT(B4:F4,FIND("-",B4:F4)-1))*24))

输入完毕按ctrl+shift+enter带出大括号,如图

第4个回答  2017-03-01
公式存在两个问题:1.公式有误,第二个RIGHT里面的LEN(B4)应为LEN(C4)。2.C4~F4不能为空,至少要有3个字符,一定要包含“-”号,而且“-”号不能在开头和结尾(比如0-0)。否则一定会出错。如果希望空值不出错就要加上条件判断。