如何用excel函数计算时间差?

2025-02-26 07:13:40
推荐回答(2个)
回答1:

=IF(MOD(DAY(A1-2009-9-13)/7,1)=0,B1-A1-"1900-1-1",IF(MOD(DAY(A1-2009-9-12)/6,1)=0,B1-A1-"1900-1-2",B1-A1))
用这个公式,A1代表你的上报时间
B2代表到场时间,算出来的结果C1是到场时间差,MOD(DAY(A1-2009-9-13)/7,1)=0代表如果上报时间减去2009-9-13(这天是礼拜天)是7的整数倍,那C1=B1减去A1再减去1900-1-1(这个代表1整天,不知道为什么,打1天00时00分00秒就出现这个,即24小时)。如果A1减去2009-9-12(这天正好是礼拜六)是7的整数倍,那C1=B1减去A1再减去1900-1-2(这个代表2整天,即48小时),如果两者都不是,那就是周一到周五的任意一天,也C1就等于B1-A1,注意,表格的格式需要调整的,设置成时间格式才行,需要的话可以问我要。
第一个问题回答完毕,想了我两个晚上,第二个问题我没看懂=。=

回答2:

'=DATEDIF(Date1,Date2,Interval)
注意点:
1.
Date1必须比Date2早;
2.
Interval必须是如下代码表示:
"m"
表示返回的是两个日期之间的月份差
"d
表示返回的是两个日期之间的天数差
"y"
表示返回的是两个日期之间的年数差
"ym"
在两个日期的年份相同的前提下的两个日期的月份差(将忽略年份,只按照月日来计算)
"yd"
在两个日期的年份相同的前提下的两个日期的天数差(将忽略年份,只按照月日来计算)
"md"
在两个日期的年份和月份相同的前提下的两个日期的天数差(将忽略年份和月份,日来计算)
示例:
=DateDif("2007/3/6","2009/4/22","y")
结果:
2