服务热线:18609840880

建站知识

建站知识

您当前位置:首页 > 建站知识

Excel数字随机知多少?

发布时间:2018-10-11

 一谈论到Excel函数的随机,大家肯定一开始就想到了Rand函数,该函数使用起来也非常简单。权威的帮助截图如下:

        从权威帮助文档可以学习到两点:
        ① 若要生成a与b之间的随机实数,可以使用函数=RAND()*(b-a)+a;

        ② 保持单元格编辑状态,按F9键,可以将公式长期性的改为随机数(类似选中部分数组公式产生结果)。

        其实如果希望产生1到100之间的随机整数,可以使用Excel提供的RANDBETWEEN函数来实现哦,具体方法如下:

        当然今天为大家介绍的不是简单使用Rand或RandBetween函数,而是给定几个数,随机放到列的单元格中。

        例如上图中的K列数据,如果希望其随机分布到J2:J7单元格,需要怎么去做呢?我们先来看一下实现的结果是什么,详细请见如下动态图:

        每当按下键盘上的F9键,K列的数据,就会随机分布到J列上。为了解决这个问题,我们先想想能否随机生成1到6这几个数,然后随机分布到J列,后在使用INDEX函数查找对应的数,这样也就实现了K列数值的随机分布了。
        其实实现不重复的随机数字,可以不用辅助列和VBA,可以直接使用数组公式实现。实现的公式如下:
{=LARGE(ROW($1:$6)*(1-COUNTIF($I$1:I1,ROW($1:$6))),INT(RAND()*(7-ROW(A2))+1))}
        因为该公式从I2单元格复制出来,所以COUNTIF函数中引用了I列。如果需要更换到其他列,请更换列号哦。
        接下来为大家分析一下数组公式的含义,外层的是LARGE函数,其实在前段时间为大家分享过一篇文章【20171215】- 有条件的排名案例分享(中国式排名和美式排名),已经介绍了这个函数,如果还不会使用的小伙伴可以点击观看哦。该函数一共两个参数,为了方便大家快速复习,我还是把权威帮助截取下来吧,如下图:

        我们先来看先进个参数中的ROW($1:$6),用来产生一列包含1-6的垂直数组,如果需要更多的数值,可以修改6位所需要的数值哦。
(1-COUNTIF($I$1:I1,ROW($1:$6)))用COUNTIF函数判断已产生的数值,如果某个数字已在I列出现,则其对于的位置为0,否则为1。这两项相乘后得到一个包含“0”和未出现数字的数组。比如我们在I4单元格使用F9键查看一下先进个参数的值,如下图所示:

        通过上图可以看到,在I2单元格显示4,I3单元格显示3,那么对应的数组{1;2;0;0;5;6}}第三位和第四位就为0,其他的位置显示对应的数值。
        第二个参数为INT(RAND()*(7-ROW(A2))+1),其作用是产生一个随机整数,以I4单元格为例,由于已经出现了2个数字,还有4个数字为出现,故随机数大的值为4,该项产生一个1-4之间的随机整数。
 
        如果需要在行里显示随机整数列,可以使用数组公式:{=LARGE(COLUMN($A2:$F2)*(1-COUNTIF($M$2:M$2,COLUMN($A2:$F2))),INT(RAND()*(7-COLUMN(A2))+1))},详细演示如下动态图所示:

        好了,今天大连网站制作新图闻的随机数就介绍到这里了,大家在学习数组公式过程中遇到任何问题,欢迎给我们留言。
 

大连新图闻科技有限公司是一家品牌设计服务提供商,企业网络服务品牌,也是企业邮箱“盈世”的大连地区代理商。公司服务项目包括网站建设、平面设计、网络营销推广、商业摄影、企业邮箱等,帮助客户提高企业综合竞争能力。

18609840880(微信同步)

市场部 : 8001@newtwowin.com
业务联系,业务需求请发到此邮箱.

QQ咨询: 94091176
客服部:xxz@newtwowin.com
地址:大连市西安路罗斯福B座3109