admin管理员组文章数量:1538452
2024年5月23日发(作者:)
excel中rand()函数的妙用
话题:函数 整数 公式
有时需要生成某个范围内随机整数,在Excel中可以
使用RAND或RANDBETWEEN函数。1.使用RAND函数。
RAND函数返回大于等于 0 及小于 1 的均匀分布随机实
数,其语法是:=RAND()要生成某个范围内的随机整数,可
以使用以下公式:=INT((上限-下限+1)*RAND()+下限)生成
的随机整数中有可能包含上限或下限。例如要生成1-100之
间的随机整数,在单元格中输入公式:
=INT(100*RAND()+1)2.使用RANDBETWEEN函数
RANDBETWEEN函数可以直接返回位于指定的两个数之间
的一个随机整数,其语法是:RANDBETWEEN(bottom,top)
参数“bottom ”为指定的最小整数,参数“top”为指定的最大整
数。如公式:=RANDBETWEEN(1,100)返回1-100之间的随
机整数,可能包含1或100。在Excel 2003中,
RANDBETWEEN函数不能直接使用,需要加载分析工具库
后才能使用。方法是:单击菜单“工具→加载项”,在弹出的“加
载项”对话框中勾选“分析工具库”,单击“确定”即可。而在
Excel 2007中RANDBETWEEN函数可以直接使用。3.在
EXCEL2000及以后的版本中,Randbetween()函数默认并不
加载,可以用以下方法实现:方法一,加载RandBetween法:
点工具→加裁宏→分析工具库,确定。这样操作可能有些人
的机器会需要OFFICE的安装盘。加裁完成后,函数中就会
有一个randbetween()这个函数。 此方法是解决问题的根本
之道,但对于找不到安装光盘的人来说,此路不通。方法二,
自定义函数法:点工具→宏→Visual Basic 编辑器(或按
Alt+F11),打开Vb编辑器,插入模块,输入以下代码后关
闭。Function RANDBETWEEN(bottom, top) As
DoubleRANDBETWEEN = Int(Rnd() * (top - bottom + 1)) +
bottomEnd Function方法三,替代法:Excel虽然默认没有
RandBetween()函数,但有Rand()这个函数。我们可能利用它
实现随机数。Rand()产生的是大于等于0,且小于1的随机小
数,我们可以利用INT()函数取整,再进行以下转化:
=Int(Rand()*(top - bottom + 1))+ bottom其中的bottom与top
要以数字出现。注意,以上可以使用。在单元格输入
=RANDBETWEEN(80,90) , 然后单击菜单中“分析”即可出
现需要的随机数。最后右击单元格,复制,右键,选择性粘
贴,粘贴数据,即可把函数去掉,留下我们需要的数据。4.
用excel生成字母大小写加数字的任意位数随机密码考虑到
部分网友可能急需这个公式,那么我先在这里把公式贴出来
以供急用:
=CONCATENATE(IF(INT(RAND()*3)=0,CHAR(INT(RAND(
)*10+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)
),CHAR(INT(RAND()*25+97)))),IF(INT(RAND()*3)=0,CHA
R(INT(RAND()*10+48)),IF(INT(RAND()*2)=0,CHAR(INT(R
AND()*25+65)),CHAR(INT(RAND()*25+97)))),IF(INT(RAN
D()*3)=0,CHAR(INT(RAND()*10+48)),IF(INT(RAND()*2)=0
,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97))))
,IF(INT(RAND()*3)=0,CHAR(INT(RAND()*10+48)),IF(INT(
RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RA
ND()*25+97)))),IF(INT(RAND()*3)=0,CHAR(INT(RAND()*1
0+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),C
HAR(INT(RAND()*25+97)))),IF(INT(RAND()*3)=0,CHAR(I
NT(RAND()*10+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAN
D()*25+65)),CHAR(INT(RAND()*25+97)))),IF(INT(RAND()*
3)=0,CHAR(INT(RAND()*10+48)),IF(INT(RAND()*2)=0,CH
AR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))),IF(
INT(RAND()*3)=0,CHAR(INT(RAND()*10+48)),IF(INT(RA
ND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND(
)*25+97)))))我们来分解这个函数,这个函数以
CONCATENATE函数为主体包含了八个子部分:
IF(INT(RAND()*3)=0,CHAR(INT(RAND()*10+48)),IF(INT(R
AND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAN
D()*25+97))))而这个子部分又是由两个判断语句嵌套实现
的,这个机制实现数字、大写字母、小写字母出现的概率相
同因为INT(RAND()*3)=0这个公式成功的概率只有1/3而
CHAR(INT(RAND()*10+48)) 则显示 [0-9]之间的数而
CHAR(INT(RAND()*25+65)) 则显示 [A-Z]之间的字母而
CHAR(INT(RAND()*25+97)) 则显示 [a-z]之间的字母
版权声明:本文标题:excel中rand()函数的妙用 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1716401539a501541.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论