利用RANDBETWEEN、CHAR、IF函数,随机产生数字与字母组合字符串

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

利用RANDBETWEEN、CHAR、IF函数,随机产生数字与字
母组合字符串
之前的函数讲解中,讲到过RAND函数,这个函数可以产生从0到1的随机数。

在我之前的文章《RAND()函数和TIME()函数,随机事件的偶然发生及实现的可能过程》中也详细的讲解了这个函数的使用方法。

有的好学的读者提出问题:如何在EXCEL中随机产生字母和数字组合的序列呢?今天我们就解答这个问题。

在解答这个问题之前还是先复习一下RAND函数。

这个函数将产生一个随机数,此随机数大于等于0,小于1,是一个小数。

同时也讲了这个函数的两个利用方法:一是生成A与B之间的随机数字(A≤随机数
二是生成A与B之间的随机整数(A≤随机数<>
如:输入:=INT(RAND()*9+1)生成1到10之间的随机整数。

那么是否可以利用这个函数解决上面的问题呢,可以,但今天我要讲一个RAND函数的引申函数:即RANDBETWEEN
RANDBETWEEN函数: 返回位于两个指定数之间的一个随机整数。

每次计算工作表时都将返回一个新的随机整数。

语法RANDBETWEEN (bottom,top)Bottom参数:RANDBETWEEN将返回的最小整数。

Top参数: RANDBETWEEN将返回的最大整数。

但需要注意的是,03版的EXCEL要进行如下的设置:点工具,加载宏,弹出加载项中把分析工具库勾选,确定,退出,然后重启EXCEL.
举例:=RANDBETWEEN(1,100) 将返回大于等于1小于等于100的一个随机整数(变量)。

这其实就是上面RAND函数中的引申应用。

那么如何能够产生字母呢?这个问题在我之前的文章《CHAR函数实现将数字转字母,结合IF()等函数实现多种实用功能》中也讲到过,今天在简单的复习一下CHAR函数。

CHAR函数:返回对应于数字代码的字符,语法:CHAR(number)。

参数:Number 是用于转换的字符代码,介于1~255 之间(使用当前计算机字符集中的字符)。

当数字为65时=CHAR(65)结果为字母'A',数字'65~90'大写字母(A~Z)。

只要我们定义CHAR的变量范围就可以很轻松的实现随机产生字母了。

为了实现随机产生数字和字母组合的问题,我们还要解决每个位数是填充字母还是数字的问题,这也是要用随机事件来解决。

由于各有百分之50的概率,我们不妨把百分之50作为基础,实现这种随机性。

到此所有的问题解决了,我们来看最后的实现方式:
先实现位数为1时的产生方案:
公式
=IF(RAND()>0.5,CHAR(RANDBETWEEN(65,90)),RANDBETW EEN(0,9))
讲解:CHAR(RANDBETWEEN(65,90)) 会产生A到Z的字母,
RANDBETWEEN(0,9) 会产生0到9的数字
IF(RAND()>0.5,CHAR(RANDBETWEEN(65,90)),RANDBETWEE N(0,9))当随机数大于0.5时会产生字母,当小于0.5时就会产生数字。

我们假设要求产生的是6位这种数字和字母的随机字符,那么就把上面的公式重复六次,中间用'&'连接,好看下面的公式截图,由于受到篇幅的影响,我只做了部分的截图:
下面看输出的结果:
按下F9键刷新,看到结果在随机的变化。

到此,问题圆满的解决。

相关文档
最新文档