模拟一个需求场景:
更真实的模拟任务创建、开始、完成三个时间节点的发生时间。创建时间在7时至9时,15至30分钟后开始任务,开始后6至10个小时任务完成。
实现结果见下图:

实现思路:
需求中,要求时间是在指定范围内的随机时间。如果用手敲,数据量大的话非常难受。这里就要考虑如何让系统自动生成。之前了解过RAND这个函数,能生成a与b之前的随机数。
如果把时间也理解成数字,这个问题就好解决了。
创建时间在C列,C2单元格公式如下:
=TODAY()+TIME(7,0,0)+RAND()*(TIME(9,0,0)-TIME(7,0,0))
其中,TODAY()函数,生成当前日期,可不必深究。TIME()函数,根据录入的时分秒参数生成年月日数据。TIME配合RAND使用,形成了典型的范围内随机数结构。
a+rand()*(b-a)
开始时间在d列,d2单元格公式如下:
=C2+RAND()*(1/2*1/24-1/4*1/24)+(1/4*1/24)
这里也是应用了RAND函数生成范围内的随机数。分数1/24的意思是1小时,1/2*1/24表示半小时,以此类推。
完成时间在e列,e2单元格公式如下:
=D2+RAND()*(10/24-6/24)+6/24
公式的含义与开始时间相同。
至此,需求已实现。其实解决这个问题的方法不止这一种,如果有什么更好的思路,欢迎评论区留言,一起交流。
(end)