我们先来看一个最全的日期加时间格式:2019-04-01 12:30:50,Excel默认的日期格式是没有这种格式的,需要自定义格式为:yyyy-mm-dd h:mm:ss。这里的字母y、m、d、h、m、s分别是英文年、月、日、小时、分钟、秒的首字母。下面来介绍一下Excel时间和日期中函数的运用。3Zb检测VBA
1、提取日期时间3Zb检测VBA
假设上面的日期在A1单元格,3Zb检测VBA
提取年=YEAR(A1)3Zb检测VBA
提取月=MONTH(A1)3Zb检测VBA
提取日=DAY(A1)3Zb检测VBA
提取小时=HOUR(A1)3Zb检测VBA
提取分钟=MINUTE(A1)3Zb检测VBA
提取秒=SECOND(A1)3Zb检测VBA
提取日期=TEXT(A1,"yyyy-mm-dd")3Zb检测VBA
提取时间=TEXT(A1,"HH:MM:SS")3Zb检测VBA
2、日期计算3Zb检测VBA
计算既定日期100年、100个月、100天后是哪一天,先将结果单元格设成日期格式。3Zb检测VBA
假设A1单元格是既定日期3Zb检测VBA
100年:=DATE(YEAR(A1)+100,MONTH(A1),DAY(A1)), 100个月:=DATE(YEAR(A1),MONTH(A1)+100,DAY(A1))3Zb检测VBA
100天:=DATE(YEAR(A1),MONTH(A1),DAY(A1)+100)3Zb检测VBA
100天的计算也可以直接=A1+1003Zb检测VBA
计算两个日期之间相差年数、月数、周数、天数3Zb检测VBA
假设A2单元格是2020-10-25 0:00:00,3Zb检测VBA
年数差:=DATEDIF(A1,A2,"y") 月数差:=DATEDIF(A1,A2,"m")、 周数差:=DATEDIF(A1,A2,"D")/7、 天数差:=DATEDIF(A1,A2,"D") 周数差实际就是在天数差的结果上除以7.3Zb检测VBA
3、时间计算3Zb检测VBA
计算既定时间100小时、100分钟、100秒以后是什么时间,先将结果单元格设成时间日期格式。3Zb检测VBA
100小时:=A1+100/24,把小时转化成“天”相加。3Zb检测VBA
100分钟:=A1+TIME(,100,)3Zb检测VBA
100秒:=A1+TIME(,,100)3Zb检测VBA
TIME函数有三个参数,分别是小时、分钟、秒3Zb检测VBA
例:3Zb检测VBA
3Zb检测VBA
这是工程实验中水泥胶砂强度试验要求的抗压试件,这里我们先将要求时间换算成他的最小时间单位,例如,72h±45min,就是72*60±45min,28d±8h就是28*24±8h,再利用上面的公式进行计算3Zb检测VBA
计算两个日期之间小时差、分钟数、秒钟差3Zb检测VBA
小时差:=TEXT(A2-A1,"[H]")3Zb检测VBA
分钟数:=TEXT(A2-A1,"[M]")3Zb检测VBA
秒钟差:=TEXT(A2-A1,"[S]")3Zb检测VBA
小时、分钟、秒:=TEXT(A2-A1,"[h]小时m分钟s秒")3Zb检测VBA
4、时间、日期与数值的转换3Zb检测VBA
日期转换数值:=ROUND(A1,0)或=TEXT("A1",0)3Zb检测VBA
时间转换数值:=A1*243Zb检测VBA
数值转换日期:=TEXT(11.11,"yyyy-m-d")3Zb检测VBA
数值转换时间:=TEXT(11.11/24,"hh:mm:ss")3Zb检测VBA
数值转换日期时间:=TEXT(11.11,"yyyy-m-d h:mm:ss")3Zb检测VBA
公式里的11.11是手动输入的3Zb检测VBA
5、随机时间或日期生成3Zb检测VBA
生成2019-1-1到201910-31的随机日期:3Zb检测VBA
=(TEXT("2019-10-31",0)-TEXT("2019-1-1",0))*RAND()+TEXT("2019-1-1",0)3Zb检测VBA
或者=RANDBETWEEN(TEXT("2019-1-1",0),TEXT("2019-10-31",0))3Zb检测VBA
生成11:11:11到22:22:22的随机时间3Zb检测VBA
=(TEXT("22:22:22","0.0000")-TEXT("11:11:11","0.0000"))*RAND()+TEXT("11:11:11","0.0000")3Zb检测VBA |