当前位置:首页 > 奇闻趣事

rand函数 解读Excel中的RAND函数和RANDBETWEEN函数用法和差异

在我们日常工作我们都希望所有的事情都按我们的意愿有序执行,不过有时也需要事情按照无序,没有规律的生成数据,比如我们在计算机上考试时随机生成的试卷,网上商城抽奖活动,中奖的序列号码这些内里无一没有随机函数的身影,那么问题来了,Excel可以做抽奖程序吗?可以做随机点名器吗?答案是肯定的,Excel也有随机函数,好了准备小马扎,调整好小桌板,我们一起了解随机函数那点事吧!

RAND函数

说起RAND函数它在Excel中也是特别的存在,它是函数中为数不多的没有参数的函数之一,功能也比较简单,随机生成>=0且<1的数字,这里需要注意的是并不包括1,我们在使用它的时候需多加注意,虽然它的语法结构及其简单,不过我们还是准备了它的结构图,如下:

解读Excel中的RAND函数和RANDBETWEEN函数用法和差异

RAND函数的语法结构图

?用途

:其实随机函数用途还算广泛,它在解决一系列从有序变无序的问题上有独特的优势,不过在应用的过程,更多的是用RAND函数生成随机的固定范围的整数,我们就从最简答的开始,看看如何生成>=1且<=10的整数?

思路

:单独使用RAND函数实现是不太可能的,需要借助之前文章哼哈二将中的函数,两个函数两个思路,我们先用ROUNDDOWN函数吧!我们了解RAND函数生成>=0且小于1的数,如果我们直接乘以10就会得到>=0且<10,接着向下取整(ROUNDDOWN)得到范围>=0且<=9,然后整体加1,正好是>=1且<=10;

公式

:=ROUNDDOWN(RAND()*10,0)+1

公式做出来的,不过乘数10是怎么来的,有没有统一的公式可以套用的啊?带着这些问题继续看下面的例子:

如何生成>=80且<=100的整数?

思路:

有了上面的经验,我们就需要先生成1-20包括20的整数,如果直接rand()&*20,在加上ROUNDDOWN函数的谨慎性格,最多也就生成>=0且<=19的数字,再

80,只能生成>=80且<=99数字;索性我们就

×

(20+1),这样就完美达到我们的需求了。

公式

:=ROUNDDOWN(RAND()*21,0)+80

总结

:回过头我们再看这两个例子,第1个生成的区间1到10而非0-10,若生成0-10则是11个数,她的公式应该是=ROUNDDOWN(RAND()*11,0),第2个例子中的生成80-100的数字,一共多少个数字呢?没错21个,然后再加上开始值就是我们刚才编写的公式啦!到这我们是不是就能总结出通用的公式了=rounddown(rand()*(生成数字个数=大数-小数+1),0)+小数,我整理一下完整公式如下:

解读Excel中的RAND函数和RANDBETWEEN函数用法和差异

生成>=N且<=M的随机整数的通用公式

如果以后遇到这种问题只需将M和N带入公式就可以了,说完rounddown的实现方法,我们一起再看roundup函数是如何实现的?

说到roundup函数的功能向上取整,公式=roundup(rand(),num)则理论上生成范围是>=0且<=1,而事实却是当公式=roundup(rand(),0)它的结果会一直是1,哪如何解决这个问题呢?哪我们根据上面的经验,公式变为=roundup(rand()*2,0),它的范围变为1或2,原来差1,只需在最后结果-1就行了。那么其他的是不是也符合这个规律,我们测试了几组数据,效果如下:

解读Excel中的RAND函数和RANDBETWEEN函数用法和差异

测试roundup函数生成区间数字的数据

经过验证,我们也总结出通用公式如下图:

解读Excel中的RAND函数和RANDBETWEEN函数用法和差异

ROUNDUP函数实现生成要求范围的整数的通用公式

?在说后面的知识点之前,先说一下为什么roundup(rand(),0)的结果一直会是1,其实这样的问题弱类型处理程序中的通病,在它们的世界里,就没有整数的概念,都是带有小数的部分,不过附加的数字特别特别小而已,当遇到roundup函数特性,不论附加多少小,在它眼里都是进位数,而上面的公式进位数是1,所以所有的结果都是1啦。哪还有没有容易的方法生成整数随机数呢?当然有了,就是下面需要说的函数啦!

RANDBETWEEN函数

它相对RAND函数的语法结构就复杂多了,它有两个必填参数,且第2个参数必须>=第1个参数,否则返回#NUM!的结果,一起看一下它的语法结构图如下:

解读Excel中的RAND函数和RANDBETWEEN函数用法和差异

RANDBETWEEN函数的语法结构图

?函数生成的整数的数字区间为>=小数字且<=大数字,如果你想生成0-10的随机数字直接输入公式=randbetween(0,10)就可以可以啦,是不是很方便啊!如果遇到大小数字带有小数部分,它遵循的规则为,整数部分相同,则取离它最近的最小整数,即randbetween(0.2,0.59)=randbetween(1,1)=1;如果整数部分不想相等,则大数字往小的取值,小数字往大的取值即randbetween(1.23,2.999)=randbetween(2,2)=2;我们也会遇到两个参数为负数的情况同理:比如randbetween(-0.8.-0.1)=randbetween(0,0)=0,整数部分不同的情况为=randbetween(-6.3,-1.2)=randbetween(-6,-2),至于验证的部分就留给你做练习吧!

应避免的误区

函数的部分说完了,最后我把我再工作中遇到问题或错误总结了一下,这里分享给屏幕前的你:

1.当我们使用rand()函数获取随机整数的时候,不管用的是我提到的函数还是用INT或TRUNC函数来取整操作,一定注意生成的范围边界问题,比如要生成20到50的随机整数,公式=int(rand()*30)+20,表面没有问题,其实这个公式永远都无法生成50这个随机数,如果你把这个随机的范围应用提取某个范围单元格的值的话,始终会有一部分的单元格的值是不会被读取到的。

2.就是负数的问题,我们在做取整的操作的时候,使用的函数不同,需要注意他们之间的细微差别,比如INT(-5.67)返回的结果为-6,而rounddown(-5.67,0)和TRUNC(-5.67,0)返回结果都为-5,如果想规避这些不同函数的正负差异,我们可以生成正整数随机数,再取反或乘-1就能一定程度避免这些没有必要的麻烦。

3.不要以为有randbetween函数,rand函数就没有什么用了,rand函数处理起来数据更加的灵活,在生成小数随机数上它有特有的优势,具体还是要看你的使用场景了,举一个VBA上可以用的场景,比如让我们快速打乱一个名单该如何操作呢,我的思路是用rand函数生成随机数,比0.5大的,就交换相邻的人名位置,比0.5小就不交换位置,这样是不是比生成一个不重复的序列要简单多了。

文章的最后我想说的就是,随机函数的用途确实有很多,单唯独没有在软件序列号的中使用,因为软件序列号是通过严格的数学公式计算出来的字母字符序列,而生成序列号并不允许随机的,验证序列号需要将序列号代入固定的算法中得出固定的值才可以的,这也是为什么我们可以使用序列号生成器来生成序列号,这里的关键需要破击序列号的验证算法,至于怎么破解就不在文章的范围之内了。

你学会了Excel的随机函数,有一个好处,就是不用发愁给小孩出小学算术题了,只要编写相应的规则,只要拖拽鼠标就能完成了,好了今天的文章就到这,希望你能通过阅读有所收获,如果你在工作中遇到关于Excel什么问题,欢迎留言告诉我,我会第一时间尽我最大的努力帮助你,又说那话啦:你工作学习的路上并不孤单,我们一起结伴而行!

1.《rand函数 解读Excel中的RAND函数和RANDBETWEEN函数用法和差异》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《rand函数 解读Excel中的RAND函数和RANDBETWEEN函数用法和差异》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/guonei/472062.html

上一篇

下一步工作 【不忘初心、牢记使命】主题教育下一步工作怎么做?恩平这场会议部署了!

下一篇

吴浩康女友 介绍几部香港恐怖单元剧给各位喜欢短篇恐怖剧集的朋友们_影视资讯

中国移动无绳电话 TD数字无绳电话年内上市:欲成杀手级产品

C114讯 8月20日早间消息(于艺婉)继家庭信息机之后,TD-SCDMA又推出固网产品。全球首款基于TD-SCDMA的数字无绳电话解决方案的推出,标志着中国移动针对家庭用户的TD-SCDMA产品系列中将再度丰富。数字无绳电话是现代家庭电话的升级换代产品,将满足家庭电话更新需求。中国移动也将凭借这一时尚产品在固话市场上再次发力,欲让家庭固话市场刮...

未来之屋 数字家庭的未来尽头与冷酷仙境

曲折走入一个黑漆漆的如爱斯基摩人圆顶冰屋的空间,有几个人在“看星星”。准确地说,是由投影仪投射在穹状屋顶上的星空图像。只见站在投影仪前的人两只手各自撑开拇指和食指,将这两个“八”字手势合并在一起。眼前的宇宙就瞬间收缩,像科幻电影中常见的时空穿越,目光从茫然无边的深邃宇宙收缩到其中的一团星云...

海淀“时空一张图”上线 “数字孪生海淀”助力城市治理

  • 海淀“时空一张图”上线 “数字孪生海淀”助力城市治理
  • 海淀“时空一张图”上线 “数字孪生海淀”助力城市治理
  • 海淀“时空一张图”上线 “数字孪生海淀”助力城市治理

电脑键盘出现数字 电脑键盘打不出数字怎么办 电脑键盘打不出数字解决方法

无论是使用过笔记本还是台式电脑的朋友是不是遇到过和小编类似的问题,电脑打不出数字。即使我们将电脑关机重启或者刷新网页都没有办法解决。经过小编的自我摸索现在已经成功的解决了这个问题,所以小编想把自己总结出来的经验分享给大家。针对台式电脑和 笔记本电脑 ,我也是分别总结了键盘打不出字的方法,希望我的文章能够对大家有所帮助。  一、台式机:  小键盘上...

数字文件夹无法删除 数字文件夹无法删除怎么办【图文教程】

相信很多人对于电脑都是十分熟悉的,甚至有些人对于电脑各种系统的操作十分熟练,但是,还是有一些人还是对于电脑的一些问题而找不到解决方法,尤其是对于电脑文件夹的储存方式也是十分困惑的,电脑文件夹里面都是比较重要的信息,但是有些东西也需要定时清理,而电脑文件夹无法删除就是这样一种比较棘手的问题,那么,对于电脑文件夹无法删除的问题怎样去解决呢?  步骤一...

个税计算器在线计算 5000起征点个税在线计算器 还可靠公式计算个税

个税计算器在线计算 5000起征点个税在线计算器 还可靠公式计算个税

自从将个税起征点提高至每月5000元后,越来越多人不懂得如何计算个税,毕竟此前个税起征点每月是3500元。其实个税计算大概有两种方式,一种是直接在线依靠个税计算器计算,另一种则是依靠个税公式自行计算。接下来给大家提供5000起征点个税在线计算器以及个税计算公式,希望可以帮助大家。最新税率表 5000起征点个税在线计算器:个税精灵。在百度中输入“个...

键盘按一个键出现多个字母 键盘按字母出现数字该怎么办【图解】

我们在使用电脑的时候,常常会出现这样的问题,就是按下键盘上的字母键屏幕上显示的是数字,对于很多初级的选手来说,他们觉得出现了大的问题,其实大家仔细观察一下就应该知道,数字界和字母界其实在一个按钮上,那么接下来小编为大家介绍一下如何解决,在键盘上按下字母键出现数字的问题,供大家在实际生活的时候参考。    一、在 笔记本电脑 上解决:  首先小编为...

数字女星 还记得金星、刘涛曝出的“数字女星”吗?终于有人出来说话了

  • 数字女星 还记得金星、刘涛曝出的“数字女星”吗?终于有人出来说话了
  • 数字女星 还记得金星、刘涛曝出的“数字女星”吗?终于有人出来说话了
  • 数字女星 还记得金星、刘涛曝出的“数字女星”吗?终于有人出来说话了