EXCEL里时间相减为什么不对?

.A1单元格为 “2014-7-13 12:00:00”B1单元格为“2014-7-14 12:00:00” “ =B1-A1” 为什么结果是“0:00”而不是“24:00”?请热心的网友帮忙解决下谢谢

原因:时间差公式使用错误。

解决方法:

1、首先在excel表格中输入需要计算时间差的时间数据,然后选中计算结果的单元格。

2、点击鼠标右键,在打开的选项中点击“设置单元格格式”。

3、然后选择“时间”选项并选择类型为hh:mm:ss。

4、然后在单元格中输入计算公式:=TEXT(B1-A1,"[H]:mm:ss")。

5、点击回车即可生成计算结果,可以看到此时显示的时间差为“24小时”。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-04
一、这可以用DATEDIF函数来做到。
假设起始日期写在A1单元格,终止日期写在B1单元格,则可以在C1单元格写入公式
=DATEDIF(A1,B1,"m")

二、关于DATEDIF函数
DATEDIF函数是Excel隐藏函数,在帮助和插入公式里面没有。 返回两个日期之间的年\月\日间隔数。常使用DATEDIF函数计算两日期之差。

语法
DATEDIF(start_date,end_date,unit)
Start_date 为一个日期,它代表时间段内的第一个日期或起始日期。
End_date 为一个日期,它代表时间段内的最后一个日期或结束日期。
Unit 为所需信息的返回类型。
Unit 返回
注:结束日期必须大于起始日期
下面举个小例子:在日常工作中非常实用。
假如A1单元格写的也是一个日期,那么下面的三个公式可以计算出A1单元格的日期和今天的时间差,分别是年数差,月数差,天数差。
注意下面公式中的引号和逗号括号都是在英文状态下输入的。
=DATEDIF(A1,TODAY(),"Y") 计算年数差
=DATEDIF(A1,TODAY(),"M") 计算月数差
=DATEDIF(A1,TODAY(),"D") 计算天数差
"Y" 时间段中的整年数。
"M" 时间段中的整月数。
"D" 时间段中的天数。
"MD" start_date 与 end_date 日期中天数的差。忽略日期中的月和年。
"YM" start_date 与end_date 日期中月数的差。忽略日期中的年。
"YD" start_date 与 end_date 日期中天数的差。忽略日期中的年。

三、实例说明

实例1:
题目: 计算出生日期为1973-4-1人的年龄
公式: =DATEDIF("1973-4-1",TODAY(),"Y")
结果: 33
简要说明 当单位代码为"Y"时,计算结果是两个日期间隔的年数.

实例2:
题目: 计算日期为1973-4-1和当前日期的间隔月份数.
公式: =DATEDIF("1973-4-1",TODAY(),"M")
结果: 403
简要说明 当单位代码为"M"时,计算结果是两个日期间隔的月份数.

实例3:
题目: 计算日期为1973-4-1和当前日期的间隔天数.
公式: =DATEDIF("1973-4-1",TODAY(),"D")
结果: 12273简要说明 当单位代码为"D"时,计算结果是两个日期间隔的天数.

实例4:
题目: 计算日期为1973-4-1和当前日期的不计年数的间隔天数.
公式: =DATEDIF("1973-4-1",TODAY(),"YD")
结果: 220
简要说明 当单位代码为"YD"时,计算结果是两个日期间隔的天数.忽略年数差

实例5:
题目: 计算日期为1973-4-1和当前日期的不计月份和年份的间隔天数.
公式: =DATEDIF("1973-4-1",TODAY(),"MD")
结果: 6
简要说明 当单位代码为"MD"时,计算结果是两个日期间隔的天数.忽略年数和月份之差

实例6:
题目: 计算日期为1973-4-1和当前日期的不计年份的间隔月份数.
公式: =DATEDIF("1973-4-1",TODAY(),"YM")
结果: 7
简要说明 当单位代码为"YM"时,计算结果是两个日期间隔的月份数.不计相差年数注意:TODAY()函数获取的是系统当前日期,所有列举的实例为2006-11-7日的计算结果,并不一定和你得到的结果相符。
第2个回答  2014-07-14
首先:excel的时间计算默认是以日期为计算的。
其次:日期计算的方法是将日期转换为数字,1900-1-1对应1,之后依次增加。
最后LZ,如果要计算出小时计算的话需要增加TEXT(),TIME()公式等根据需要进行计算。

如下:
A1 B1 C1
2014-7-13 12:00
2014-7-14 12:00 =TEXT(B1-A1,"[h]") =24

但是这里的“24”是文本,用于计算是需增加VALUE()公式:=VALUE(TEXT(B1-A1,"[h]") )
希望对LZ有帮助。追问

你的方式是可以,但是最后求和总时间又不对了,比方=SUM(C1:C5)求出来总时间不对,为什么?

追答

是不是需要计算到分钟,还是秒?
如果是分钟:改为[m];并除以60换算成小时;
如果是秒:改为[s];并除以3600换算成小时;
记得value()一定要加。

第3个回答  2014-07-14
都可以的啊,直接相减和用datedif是一样的啊,你再试试看!
=DATEDIF(b1,a1,"d")
这样可以么?
第4个回答  推荐于2017-09-02

公式如下:

=TEXT(B1-A1,"[hh]:mm:ss")

 

追问

你的方式是可以,但是最后求和总时间又不对了,比方=SUM(C1:C5)求出来总时间不对,为什么?

追答

亲,用数组公式求和,按“Ctrl+Shift+回车”结束输入。如下图:

=TEXT(SUM(--C1:C5),"[hh]:mm:ss") 

 

追问

辛苦了,最后问一个,按你的方法求出是24小时是个文本不能统计,怎么转成数值且公式要还在的?

追答

亲,其实,如果您一开始就把要求说完整,我是不会建议您用TEXT公式处理的。因为我以为您的要求只是显示出来……

 

如果您需要统计大量的数据,需要计算,最好还是受累,在第一次的时候把单元格格式设置为“自定义”——“[h]:mm:ss”。如下图那样。这样,您就可以直接运算,无需TEXT公式了。

 

追问

=TEXT(SUM(--C1:C5),"[hh]:mm:ss") C1前面--是什么意思?

追答

两个负号的运算,把文本变为数值。

本回答被提问者采纳