Excel时间差计算公式收录
(2011-09-17 12:11:52)
标签:
it |
分类: Excel使用技巧 |
2011/09/17
收录自jamey2000的日志“Excel中的时间计算”http://www/uc/myshow/blog/misc/gif/E___7414ZH00SIGG.gif
欢迎转载及改进意见,转载请注明出处。
时间的格式是:“yyyy/mm/dd hh:mm:ss”,如:“2011/09/17
12:34:56”。
假设A2单元格是起始时间,B2是结束时间。在其他如C2单元格写下公式:
1、时:分:秒格式(不计算天数):
| =TIME(HOUR(B2-A2),MINUTE(B2-A2),SECOND(B2-A2)) |
我的点评:如果面对“2011/09/05
11:22:33”-“2011/09/04
22:33:44”这样的计算,这个算式的结果就明显不对了。仅适用于日期是同一天的时间差计算。
2、天时分秒格式:
| =CONCATENATE(DATEDIF(A2,B2,"d"),"天",HOUR(B2-A2),"时",MINUTE(B2-A2),"分",SECOND(B2-A2),"秒") |
3、时分秒格式(将天数转换成小时):
| =CONCATENATE(DATEDIF(A2,B2,"d")*24+HOUR(B2-A2),"时",MINUTE(B2-A2),"分",SECOND(B2-A2),"秒") |
4、全都换算成秒:
| =CONCATENATE(DATEDIF(A2,B2,"d")*24*3600+HOUR(B2-A2)*3600+MINUTE(B2-A2)*60+SECOND(B2-A2),"秒") |
我的点评:这种方式比较灵活,单值(秒)的结果方便转换为“分”或“小时”。可能我们并不需要这么精准的结果,或许仅仅是“<=5分”或“<=1小时”就够了,以“<=5分”为例进行修改:
| =CONCATENATE("<=",INT((INT(DATEDIF(A2,B2,"d")*24*60+HOUR(B2-A2)*60+MINUTE(B2-A2)+(SECOND(B2-A2)+59)/60)+4)/5)*5,"分") |
特别提醒:
A2、B2表格以及前三种算法中的C2表格均需设为时间格式(非日期格式)。
(后续补充新的公式)

加载中…