以前使用Excel的随机数函数,生成过固定位数的数字卡的卡号和密码,效果还是蛮好的!现在又有新的需求了,那就是要生成随机字母!为了避免每次有新的需求都要重新写日志,干脆一起写出来吧!
1、生成随机数字
(1)生成随机数比较简单,=rand()即可生成0-1之间的随机数;
(2)如果要是整数,就用=int(rand())*10,表示0至9的整数,以此类推;
(3)如果要生成a与b之间的随机实数,就用=rand()*(b-a)+a,如果是要整数就用=int(rand()*(b-a))+a;稍微扩充一下,就能产生固定位数的整数了。
注意:如果要使用函数rand()生成一随机数,并且使之不随单元格计算而改变,可以在编辑栏中输入“=rand()”,保持编辑状态,然后按F9,将公式永久性地改为随机数。不过,这样只能一个一个的永久性更改,如果数字比较多,也可以全部选择之后,另外选择一个合适的位置粘贴,粘贴的方法是点击右键,选择“选择性粘贴”,然后选择“数值”,即可将之前复制的随机数公式产生的数值(而不是公式)复制下来!
2、产生随机字母
随机小写字母:=CHAR(INT(RAND()*26)+97)
随机大写字母:=CHAR(INT(RAND()*26)+65)
随机大小写混合字母:=CHAR(INT(RAND()*26)+if(INT(RAND()*2)=0,65,97))
3、产生随机的六位数的字母和数字混合
=CONCATENATE(IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))))
4、随机不重复数字序列的生成方法
有些情形下,我们需要生成一个不重复的随机序列。
比如:我们要模拟洗牌,将一副扑克牌去掉大小怪后剩下的52张打乱。
比较笨的方法是在1-52间每生成一个随机数后,检查该随机数是否出现过,如果是第一次出现,就放到序列里,否则重新生成一个随机数作检查。在 excel worksheet里面用这种办法,会造成if多层嵌套,不胜其烦,在VBA里面做简单一些,但是效率太差,越到序列的后端,效率越差。
当然也有比较好的办法,在VBA里面,将a(1)-a(52)分别赋予1-52,然后做52次循环,例如,第s次生成一个1-52间的随机数r,将a(s)与a(r)互换,这样的话,就打乱了原有序列,得到一个不重复的随机序列。
VBA里这个算法是很容易实现的,但是,出于通用性和安全考虑,有的时候我们并不希望用VBA,我们来看看在worksheet里面如何利用内置函数实现这个功能。
(1)在A1-A52间填入"=INT(RAND()*52)+1",产生1-52间的随机数,注意这里是有重复的
(2)在B1-B52间填入1-52
(3)在C54-BB54填入1-52
(4)在C1填入"
=IF(ROW()=C$54,INDEX(B$1:B$52,INDEX($A$1:$A$52,C$54)),IF(ROW()=INDEX($A$1:$A$52,C$54),INDEX(B$1:B$52,C$54),B1))
"。
分项解释:
a:ROW()=C$54,如果当前行等于当前交换所排的序号
b:INDEX(B$1:B$52,INDEX($A$1:$A$52,C$54)),返回在B1到B52中选择A1:A52中的第C54个值
c:IF(ROW()=INDEX($A$1:$A$52,C$54),否则的话,如果当前行等于A1:A52中第C54个值,则:
d:INDEX(B$1:B$52,C$54),返回B1:B52中的第C54个值
e:若以上条件都不满足,则返回B1
(5)将C1复制到C1:BA52这个区域里面
(6)在BA1:BA52中,我们就得到了一个不重复的随机序列,按F9可以生成一个新序列。
从别的地方 复制过来的。分享,以便自己以后用到。想原作者表示感谢。
分享到:
相关推荐
在Excel中生成随机数是一项常见的任务,特别是在数据分析、模拟实验或者创建随机测试数据时。Excel提供了多种函数和方法来帮助用户生成不同类型的随机数。以下是一些关键知识点: 1. **RAND()函数**:这是Excel中最...
在Excel中生成随机数是一项常见的任务,特别是在数据分析、模拟实验或测试环境中。下面将详细介绍如何在Excel表格中自动生成随机数,并提供相关的知识点。 首先,要理解Excel中的RAND函数,这是生成随机数的关键。...
调用Excel中的rand()函数和randbetween()函数产生随机数。
在Excel中生成随机数是一项...以上就是在Excel中生成随机数的多种方法和技巧,可以根据实际需求灵活运用这些函数和公式。在处理大量数据时,Excel的这些随机数功能可以帮助我们快速创建测试数据或进行概率模拟等操作。
在Excel中生成随机数是一项常见的任务,特别是在数据分析、模拟和测试场景中。Excel提供了多种方法来生成不同范围、精度和特性的随机数。以下是一些关于如何在Excel中生成随机数的知识点: 1. **RAND()函数**:这是...
在Excel中生成随机数是一项常见的任务,特别是在进行数据分析、模拟实验或者毕业设计时。Excel提供了多种函数来帮助用户创建各种范围内的随机数。以下是一些关键知识点: 1. **RAND()函数**:这是Excel中最基本的...
在Excel中生成随机数是一项常见的任务,特别是在进行模拟实验、数据分析或者毕业设计时。Excel提供了多种方式来生成不同范围和格式的随机数。以下是一些关键知识点: 1. **RAND()函数**:这是Excel中最基本的随机数...
在Excel中生成随机数是一项常见的需求,无论是进行数据分析、模拟实验还是创建测试数据。Excel提供了多种内置函数来帮助用户实现这一目标。以下是一些关于如何在Excel中生成随机数的知识点: 1. **RAND()函数**:这...
一、生成随机数 1. 单个随机数: 在单元格中输入公式 `=RAND()`,即可生成0到1之间(包括0但不包括1)的一个浮点随机数。 2. 整数随机数: 如果需要在特定范围内生成整数,可以使用 `=INT(RAND()*(上限-下限+1))...
在 Excel 2021 中使用 RANDBETWEEN 函数可以生成随机数,例如随机生成 10-100 之间的自然数。下面是使用 RANDBETWEEN 函数的步骤: 1. 启动 Excel 2021,在单元格输入“=ran”,然后选择 RANDBETWEEN 函数。 2. 在...
这时,我们可以借助VBA(Visual Basic for Applications)来定制化生成随机数,实现定值随机数的批量设置。下面我们将详细介绍如何通过VBA在Excel中批量设置具有特定基数、浮动值和保留位数的随机数。 1. **理解VBA...
首先,我们需要了解Excel中的RANDBETWEEN函数,它是用来生成指定范围内随机数的工具。RANDBETWEEN(low, high)会返回一个介于low和high(包括这两个数值)之间的随机整数。然而,这个函数在每次打开或计算工作簿时...
### 如何使用Excel 2021生成随机数 在日常工作中,我们常常需要使用到随机数,无论是进行数据分析还是模拟实验,随机数都扮演着非常重要的角色。Microsoft Excel 作为一款强大的电子表格软件,提供了多种方法来生成...
Excel作为一种强大的办公软件,提供了多种生成随机数的方法。本文将详细介绍如何在Excel中使用`=INT(RAND()*900000+100000)`公式来自动生成六位随机数。 #### 一、基础知识介绍 1. **RAND()函数**:这是Excel中的...
"使用必读.url"可能是一个链接,指向详细的在线教程或者用户指南,而"使用说明.txt"则是包含软件操作步骤的文本文件,用户可以通过它学习如何有效地利用这些工具生成随机数。 在实际应用中,随机数生成器的正确使用...
RAND()函数是Excel中生成随机数的基本函数,它可以生成0到1之间的随机小数。例如,输入公式= RAND(),就可以生成0到1之间的随机小数。 2. 修改RAND()函数的取值范围 默认情况下,RAND()函数的取值范围是0到1,但是...
通过比较,可以看到使用随机数池法和蒙特卡罗法得到的π值(3.14)比使用线性同余法生成的伪随机数得到的π值(3.22)更为准确,显示了这种方法在生成随机数质量上的优势。 总结来说,线性同余法虽然简单,但在需要...
首先,我们要了解Excel中的RAND函数,这是生成随机数的基础。RAND函数无需任何参数,它会返回一个0到1之间的随机小数,不包括0和1。如果你需要在特定范围内(比如1到100)生成随机数,可以将RAND结果乘以目标范围的...
8. **其他特殊函数**:如RAND、RANDBETWEEN生成随机数,OFFSET获取指定偏移位置的单元格值,VBA宏代码可自定义函数等。 通过《Excel函数应用宝典》中的“Excel函数应用集v3.0.xls”,读者可以找到实例教程,学习...
14. **RAND函数**:生成随机数,可用于模拟和概率计算。 15. **OFFSET函数**:基于起始单元格和偏移量返回一个范围,常与其它函数配合实现动态区域引用。 16. **CHOOSE函数**:根据索引号选择并返回多个值中的一个,...