注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

零售创新,创新那些事儿,SPSS,VBA

零售创新

 
 
 

日志

 
 
关于我

新浪微博,零售创新 研究经理,数据分析师 希望和市场研究和零售业的同事共同进步! 本博客发表的都是免费或试用的资料,如果有版权问题请发邮件wangli12a@163.com联系删除。 spss excel vba blog

网易考拉推荐

Excel 随机 时间 函数  

2014-08-07 12:53:40|  分类: 电脑知识 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
内容提要:文章介绍excel 随机时间的生产方法和原理剖析。
第一,excel 生成任意时间段的随机时间
  我们在模拟数据或者抽样调查等等情况,经常使用excel生成随机时间。
  比如A1单元格输入公式:=TEXT(RAND(),"HH:MM:SS"),确定,即可生成一个随机时间。
  公式原理解释:
  Excel对时间处理是这样的:把每 24 小时的时间周期作为一个从 0 至 1的小数存储。正好RAND()函数可以生成大于等于0小于1的随机小数,然后再使用text函数将其随机小数格式化为时间格式。

=TEXT(TIME(7,INT(RAND()*31)+30,0),"hh:mm,")&TEXT(TIME(11,INT(RAND()*31)+30,0),"hh:mm,")&TEXT(TIME(12,INT(RAND()*31)+30,0),"hh:mm,")&TEXT(TIME(17,INT(RAND()*31)+30,0),"hh:mm")


  

怎样在excel中自动生成8:00到12:00的随机时间

输入公式 =RANDBETWEEN(3333333333,5000000000)/10000000000   (可以降低点精度,不用这么多位数,呵呵)
然后将该单元格格式设为时间即可 

原理分析:excel的时间,如果转为常规格式的时候,会变成一个常数值,例如8:00,常规格式下为0.33333...,12:00,常规格式下为0.5,根据这个特点,我们可以逆向思维,函数RANDBETWEEN(3333333333,5000000000)可以得出这个区间的随机整数值,然后我们除以10000000000,可以得到0.333...到0.5区间的随机小数值,当改变单元格格式为时间以后,这个随机值就变成了8:00到12:00之间的随机时间了

如:7点到8点的时间段
=RANDBETWEEN(2916666666,3333333333)/10000000000

时间

数值化

1:00

416666666

2:00

833333333

3:00

1250000000

4:00

1666666666

5:00

2083333333

6:00

2500000000

7:00

2916666666

8:00

3333333333

9:00

3750000000

10:00

4166666666

11:00

4583333333

12:00

5000000000

13:00

5416666666

14:00

5833333333

15:00

6250000000

16:00

6666666666

17:00

7083333333

18:00

7500000000

19:00

7916666666

20:00

8333333333

21:00

8750000000

22:00

9166666666

23:00

9583333333

0:00

10000000000




参考链接:excel时间计算的基础知识
http://www.ittribalwo.com/show.asp?id=429

现实中,我们知道时间是由小时、分、秒所组成。

  但是在Excel软件中,处理时间的方式并不像现实中那样,excel计算时间是有特殊格式的数据。Excel 在内部把每 24 小时的时间周期作为一个从 0 至 1的小数存储。

  我们打开一个excel文档,在A1单元格输入“0:00:00”,然后拖动右下角填充柄,实现其自动填充,直到A25单元格为止。然后把A列中的时间数据复制到B列,选中B列数据,通过“单元格格式”对话框,将B列的格式设置为“常规”,即可看到如下图所示的效果。


Excel 随机  时间 函数 - 和平 - 零售创新,创新那些事儿,SPSS,VBA

 

 从上图我们可以清楚的看出,每 24 小时的周期都从午夜零点(0:00:00)开始,存储为0。正午(12:00:00)则存储为 0.5,因为从午夜零点至正午恰好是一个整天的一半。到下一个午夜零点时(0:00:00),Excel把它存储为1。从上一个午夜零点开始至下一个午夜零点开始,正好经历了24小时,这就是我们所说的,Excel处理时间的一个24小时周期。

  将时间作为小数存储使得 Excel 可以对时间进行运算。例如,要计算两个时间之间的间隔长度,执行结束时间对应的小数减去开始时间对应的小数的操作即可。


第二,excel 生成某时段内的随机时间
  比如:生成上午6点半到晚上8点间的随机时间,可以使用公式:
  =TEXT(RAND()*(20-6.5)/24+6.5/24,"HH:MM:SS")
  又比如生成上午9点到下午6点之间的随机时间,可以使用公式:
  =TEXT(RAND()*(18-9)/24+9/24,"HH:MM:SS")
  公式再进一步简化:=TEXT(RAND()*0.75,"HH:MM:SS")

  评论这张
 
阅读(967)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017