excel表中如何让两列输入为时间格式的值相减?

输入格式为 number->custom->h:mm.
如果直接相减不行,显示不了,现在的时间只有小时和分钟,不带日期的,比如A1栏里是17:30,B1栏里是19:40,我希望的是能输出2:10,就是说他们之差是两小时十分钟,不知有无简单明了的算法,三楼的算法好复杂啊,看不懂。

excel表中的时间是可以直接相减的,例如要计算B1与A1的时间差,就可以输入公式:=TEXT(B1-A1,"h小时m分")    ,即能得出很直观的结果

温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-02-27
不知道你是要计算的值是分钟还是小时,但不管怎样,时间还是有日期的。

我这里讲的A1是第一时间,B1是第二时间,C1为计算值(格式为常规)。

计算值为分钟:=DATEDIF(A2,B2,"d")*24*60+HOUR(B2-A2)*60+MINUTE(B2-A2)
带单位的分钟:=DATEDIF(A2,B2,"d")*24*60+HOUR(B2-A2)*60+MINUTE(B2-A2)&" 分钟"

计算值为小时:=DATEDIF(A2,B2,"d")*24+HOUR(B2-A2)+MINUTE(B2-A2)/60
带单位的小时:=DATEDIF(A2,B2,"d")*24+HOUR(B2-A2)+MINUTE(B2-A2)/60&" 小时"
计算小时就是在分钟后去掉“*60”

如果是计算秒的话在“*60”后再乘一个60
如:
=DATEDIF(A2,B2,"d")*24*60*60+HOUR(B2-A2)*60*60+MINUTE(B2-A2)*60
---------------------------------------------------------------------------------------------------------------------------------
如果是计算小时的话还要进行四舍五入:
=ROUND(DATEDIF(A2,B2,"d")*24+HOUR(B2-A2)+MINUTE(B2-A2)/60,1)
最后一位“1”表示只取一位。

如果你想只舍不入的话(这个我常用到):
=ROUNDDOWN(DATEDIF(A2,B2,"d")*24+HOUR(B2-A2)+MINUTE(B2-A2)/60,1)
最后一位“1”表示只取一位。

=================================================================================

如果你计算的全部都是当天日期

你就可以直接用 =B1-A1 就可以了。本回答被提问者采纳
第2个回答  2007-02-27
选C1单元格在(函数输入框里(就是fx后面))输入=sum(a1-b1)其中A1-B1相当于A列的第一个减B列的第一个然后回车就看到效果了
想整列的话点单元格右下角不放(要出现+号)往下拉下面的就自动完成了!
第3个回答  2007-02-27
不知道,不过蛮好奇的
相似回答