本文转载自:用Excel批量按条件生成随机日期+时间 配合转换时间戳
更多内容请访问钻芒博客:https://www.zuanmang.net
适用场景
需要批量大量填入 满足一定条件的日期和时间要求,比如固定在周一到周五的每天上午8:00-12:00 13:00-18:00等正常工作时间。如果在表格内使用可直接使用,如果导入到数据库等其他场景可以转换成时间戳,
文章底部有成品函数,直接可用。
Excel函数
生成时间日期,我们需要用到Excel中的WORKDAY()
WORKDAY(起始日期,天数,非工作日列表)
打开日历,比如11月份工作日共有21天,周末有9天,
我们可以把起始日期设置为2019-11-1,
天数使用随机数函数RANDBETWEEN()生成,格式如下:
RANDBETWEEN(最小值,最大值)
当然,这个函数中的两个参数就要填写0和20。
非工作日列表,需要我们在Excel工作表某区域内单独列出来,比如放在Sheet2中:
到这里,工作日的随机生成就搞定了:
=WORKDAY("2019-11-1",RANDBETWEEN(0,20),Sheet2!$A$1:$A$9)
我们再来搞定时间点:
在Excel中,一天之内所有时间点都可以表示为一个小数值,不信?你在Excel中输入一个时间,比如8:00:00,右键单击该单元格,设置单元格格式为“常规”,确定,看看是不是变为小数值了?
我把常用的一些时间点的数值列举出来:
为保证生成的时间点落在工作时间段内,我们只需要随机生成这个小数就可以。
比如要生成上午8:30至11:30内的时间点,只要生成一个0.3542至0.4791之间的小数就可以,简单,还是请出RANDBETWEEN()函数。具体怎么生成,看下面:
RANDBETWEEN(3542,4791)/10000
如果要生成下午13:30到17:00的时间点,如下:
RANDBETWEEN(5625,7083)/10000
问题来了,如何能够同时生成上午和下午的时间点,我们还是让电脑来决定吧!
IF(RANDBETWEEN(1,2)=2,RANDBETWEEN(3542,4930),RANDBETWEEN(5625,7083))/10000
看明白了吗?先从1和2中间生成一个随机数,这个随机数如果为2,就生成一个上午的时间点,否则就生成一个下午的时间点。
好了,到这儿我们就可以把上面两步做好的公式连接起来啦!
当然,为了保证格式美观,我们还需要用TEXT()函数规范一下生成的文本格式,在这里,日期用”yyyy-MM-dd”格式,时间用”hh:mm:ss”格式。完整公式如下:
=TEXT(WORKDAY("2019-11-1",RANDBETWEEN(0,20),Sheet2!$A$1:$A$9),"yyyy-MM-dd")&" "&TEXT(IF(RANDBETWEEN(1,2)=2,RANDBETWEEN(3542,4930),RANDBETWEEN(5625,7083))/10000,"hh:mm:ss")
看看效果吧!
不停地按F9,可以不停刷新。
以上内容转载于网络。
将时间日期转换成时间戳:
[b2_insert_post id=”https://www.zuanmang.net/36599.html”]
温馨提示:本文最后更新于2023-04-11 10:07:00
,某些文章具有时效性,若有错误或已失效,请在下方留言或联系 钻芒博客。
相关推荐:
- 百度统计独立查看密码设置以及站点ID的获取5年前 4004
- 支付宝WPAPY个人可申请当面付,创建应用获取当面付接口信息(私钥、公钥)4年前 3255
- 百度百青藤广告联盟账号密码找回表单地址4年前 2291
- Analytics屏蔽WordPress管理员,谷歌分析屏蔽自己2年前 759
- 产品运营-通过签到功能提升DAU及额外收入2年前 681
- 自制ChatGPT批量生成文章多线程 多Key Python脚本30天前 127
标签:RANDBETWEEN,11,00,批量,Excel,生成,时间 From: https://www.cnblogs.com/zmki/p/17500085.html