乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 如何用excel计算时间

如何用excel计算时间

作者:乔山办公网日期:

返回目录:excel表格制作


如图是一个简易的计时器

点击<开始计时>按钮后会变成<停止计时>按钮,按<重置计时器>可清零

附件请参考。暂时没有处理再次连续计时时第一秒的情况,请自行编写代码处理



问题的提出:
(A1格)日期时间1——2005-5-15 9:10:45
(B1格)日期时间2——2005-9-16 11:10:25
计算:日期时间2-日期时间1
结果表达:“××(天) h:mm:dd”
问题分析及思路:
形如“2005-5-15 9:10:45”的日期时间数据可以用日期时间序列值表示。这个值是小数,其中整数部分表示天数,小数部分表示时间(可以转换成“时-分-秒” )。
用截尾取整函数TRUNC提取整数表示天数,用日期时间“2005-5-15 9:10:45”的序列值减去整数部分,其差表示时间的序列值。再用TXET函数把表示时间的序列值表示成“h:mm:dd”时间格式。
日期时间2-日期时间1=TRUNC()&" "&TXET()
解决方案:
假定
A2中输入日期时间1“2005-5-15 9:10:45”
B2中输入日期时间2“2005-9-16 11:10:25”
在C2中编辑公式——
=IF(OR(A2="",B2=""),"",TRUNC(B2-A2)&" "&TEXT(B2-A2-TRUNC(B2-A2),"h:mm:ss"))
公式释义:
如果(IF)A2或B2是空白单元格(""),则显示空字符("");否则返回两个日期时间差的天数(TRUNC(B2-A2))和(&)时间差(时-分-秒——TEXT(B2-A2-TRUNC(B2-A2),"h:mm:ss"))。

假设A2单元格是起始时间,B2是结束时间。在其他如C2单元格写下公式:
1、时:分:秒格式(不计算天数): =TIME(HOUR(B2-A2),MINUTE(B2-A2),SECOND(B2-A2))
2、天时分秒格式: =IF(OR(A2="",B2=""),"",TRUNC(B2-A2)&" "&TEXT(B2-A2-TRUNC(B2-A2),"h:mm:ss"))
3、时分秒格式(将天数转换成小时): =IF(OR(A2="",B2=""),"",TEXT(B2-A2,"[h]时m分s秒"))
4、全都e69da5e887aae799bee5baa6334换算成秒: =DATEDIF(A2,B2,"d")*24*3600+HOUR(B2-A2)*3600+MINUTE(B2-A2)*60+SECOND(B2-A2)

第三种方法:(这个最实用)
在C1空格里输入公式:=TEXT((VALUE(B1)-VALUE(A1))*24,"0"),即可显示小时数。
sub bbb()
Application.OnTime Now + TimeValue("00:05:00"), "AAA"
end sub
sub aaa()
msgbox "到时了!"
end sub

前面两个回答都未考虑时间的动态变化,是不是这样做:

打开VBA编辑器,新建模块,输入下面的代码:
Sub now()
ActiveSheet.Range("B1").Value=Time
Application.OnTime Time+TimeSerial(0,0,1),"now",,True
EndSub
退出VBA
此时已生成名为“NOW”的宏:运行这个宏,B1单元格就会象秒表一样显示动态时间。

下面,再考虑与你设定时间的差,注意要看你的时间差要精确到何种程度,如精确到秒就不用多说了,如果精确到分钟、zd小时、天,则要略有变化,如精确计算到天,则需将上面的宏代码中,将B1的value值“time”改成“date”,这时B1中变化的时间为天。

相关阅读

  • 如何用excel计算时间

  • 乔山办公网excel表格制作
  • 如图是一个简易的计时器点击<开始计时>按钮后会变成<停止计时>按钮,按<重置计时器>可清零附件请参考。暂时没有处理再次连续计时时第一秒的情况,请自行编写代码处理问题的提出
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网