分享

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

 龙在天中 2018-06-20

之前的函数讲解中,讲到过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、CHAR、IF函数,随机产生数字与字母组合字符串

举例:=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)),RANDBETWEEN(0,9))

讲解:CHAR(RANDBETWEEN(65,90)) 会产生A到Z的字母,

RANDBETWEEN(0,9) 会产生0到9的数字

IF(RAND()>0.5,CHAR(RANDBETWEEN(65,90)),RANDBETWEEN(0,9))当随机数大于0.5时会产生字母,当小于0.5时就会产生数字。

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

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

下面看输出的结果:

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

按下F9键刷新,看到结果在随机的变化。

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

到此,问题圆满的解决。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多