excel随机变量方法
- 格式:docx
- 大小:20.33 KB
- 文档页数:6
Excel中的随机数生成方法及应用场景Excel是一款功能强大的电子表格软件,广泛应用于数据分析、统计计算、图表制作等领域。
其中,随机数生成是Excel的一个重要功能,它能够帮助用户快速生成符合特定要求的随机数,为数据分析和模拟实验提供便利。
本文将介绍Excel 中的随机数生成方法及其应用场景。
一、Excel中的随机数生成方法Excel中有多种方法可以生成随机数,下面将介绍其中的两种常用方法。
1. RAND函数RAND函数是Excel内置的随机数函数,可以生成0到1之间的均匀分布的随机数。
使用方法非常简单,只需在单元格中输入“=RAND()”即可。
每次计算时,RAND函数都会返回一个新的随机数。
2. RANDBETWEEN函数RANDBETWEEN函数可以生成指定范围内的整数随机数。
使用方法为在单元格中输入“=RANDBETWEEN(a,b)”,其中a和b分别表示随机数的下限和上限。
每次计算时,RANDBETWEEN函数都会返回一个位于a和b之间的随机整数。
二、随机数的应用场景随机数在数据分析和模拟实验中有广泛的应用,下面将介绍其中的几个常见场景。
1. 数据抽样与抽签在数据分析中,为了减少样本量和提高效率,常常需要进行数据抽样。
利用Excel中的随机数生成方法,可以快速生成符合要求的随机样本。
比如,可以利用RAND函数生成0到1之间的随机数,并根据设定的抽样比例筛选数据。
此外,随机数还可以用于模拟抽签过程。
比如,某次活动需要从100个参与者中抽取10个中奖者,可以利用RANDBETWEEN函数生成10个不重复的随机整数作为中奖者的序号。
2. 随机分组与实验设计在实验设计中,随机分组是一种常用的方法,可以消除实验结果受个体差异的影响。
利用Excel中的随机数生成方法,可以将实验对象随机分配到不同的处理组中。
比如,假设有60个实验对象,需要将其随机分为3组,可以利用RANDBETWEEN函数生成60个不重复的随机整数,然后按照一定规则将实验对象分配到不同组中。
【原】教你在 Excel 中生成随机数的 5 种方法2022-02-21Excel 中的随机数并非是每个用户都需要的功能,大多数人的数据都会使用固定数字和公式,可能不需要在他们的报告中出现随机数。
财务模型可以使用依赖于概率的随机模拟,有些数据模型可能需要运行数千次,但随机数生成器会提供每次模拟的参数。
无论您需要怎么样的随机数,Excel 都有多种生成它们的方法。
在这篇文章中,我将向您展示可用于将随机数插入到工作簿中的各种方法。
1/ 使用 RAND 函数生成随机数我将向您展示的第一种方法是在Excel 中生成随机值的最简单方法。
Excel中有一个非常简单的RAND函数,它不需要参数,会生成一个 0 到 1 之间的随机数。
RAND 函数示例:= RAND ( )此函数没有必需或可选的参数。
该函数始终以一组空括号输入。
此函数将生成一个介于 0 和 1 之间的随机小数,但不包括 0 或 1 有可能会存在重复值,但是概率会比较低,因为在0和1之间的小数是太多了。
返回的值将遵循均匀分布。
这意味着 0 和 1 之间的任何数字都有可能被返回。
使用RAND()在任意两个数字之间生成随机数:可以使用RAND()函数的简单公式在任意两个数字之间生成随机数。
= RAND ( ) * ( Y - X ) + X这样就可以在 X 和 Y 之间创建一系列随机数。
在任意两个数字之间生成随机整数:有时,我们遇到的需求是在两个给定数字之间生成随机整数。
这也可以使用一个简单的公式来完成。
= ROUND ( RAND ( ) * ( Y - X ) + X, 0 )即使用ROUND函数对RAND函数的结果进行四舍五入到零小数位可以将这个公式复制到电子表格的列中,如果您一直按 F9 重新计算,您将看到从 1 到 10 的各种数字组合但是由于整数数字是离散的,生成的随机数很可能在列表中重复,这取决于生成随机范围的最小值和最大值。
= ROUND ( RAND ( ) * ( 4 - -3 ) + -3, 0 )这也适用于产生负数。
excel随机概率公式在Excel中,随机概率公式是一种用于生成随机数并分配概率的功能。
通过使用Excel的内置函数,您可以轻松地创建这些公式,并以各种方式应用。
一种常用的随机概率公式是RAND函数。
该函数会在0到1之间生成一个随机数。
通过与其他函数结合使用,可以将此随机数映射为符合特定概率分布的值。
例如,要创建一个返回1或0的公式,使1以70%的概率出现,而0以30%的概率出现,您可以使用如下公式:=IF(RAND()<=0.7,1,0)在这个公式中,RAND()函数生成0到1之间的随机数。
IF函数则会检查该随机数是否小于等于0.7,如果是,则返回1;否则,返回0。
由于RAND函数的随机性,该公式将以接近70%的概率返回1,以接近30%的概率返回0。
除了使用IF函数外,您还可以使用其他函数来创建更复杂的随机概率公式。
例如,使用CHOOSE函数可以根据随机数的范围分配不同的值。
以下是一个例子:=CHOOSE(CEILING(RAND()*5,1), "A", "B", "C", "D", "E")在这个公式中,RAND函数生成0到1之间的随机数,并使用CEILING函数将其乘以5并取最小整数。
CHOOSE函数将根据结果的整数值返回对应的字母。
因此,A、B、C、D和E将以近似相等的概率返回。
通过灵活运用这些函数和其他Excel功能,您可以根据自己的需求创建各种随机概率公式。
这些公式可以应用于数据分析、模拟实验、抽样等各种场景,为您带来更高效和准确的工作效果。
Excel表格是一种广泛应用于商业和科学领域的电子数据表格软件,它具有强大的数据处理和分析功能。
在Excel表格中,我们经常需要使用随机生成数据的函数来模拟实际情况、测试数据、或者进行数据分析。
在本文中,我们将探讨在Excel表格中随机生成数据的函数,帮助读者更好地理解和应用这些函数。
一、RAND函数RAND函数是Excel中最常用的随机生成数据的函数之一。
它可以生成一个0到1之间的随机数,每次计算表格时都会重新生成一个新的随机数。
使用方法如下:1. 在需要生成随机数的单元格中输入“=RAND()”;2. 按下回车键,即可生成一个0到1之间的随机数。
需要注意的是,每次计算表格时,RAND函数都会生成一个新的随机数。
如果需要固定生成的随机数,可以将RAND函数与其他函数结合使用。
二、RANDBETWEEN函数RANDBETWEEN函数是另一个常用的随机生成数据的函数,它可以生成指定范围内的随机整数。
使用方法如下:1. 在需要生成随机整数的单元格中输入“=RANDBETWEEN(bottom,top)”;2. 其中,bottom和top分别为所需的随机整数的下限和上限。
RANDBETWEEN函数会在指定范围内生成一个随机整数。
需要注意的是,每次计算表格时都会重新生成一个新的随机整数。
三、RANDARRAY函数RANDARRAY函数是Excel 365中新增的随机生成数据的函数,它可以一次生成多个随机数或随机整数。
使用方法如下:1. 在需要生成随机数的单元格范围中输入“=RANDARRAY(rows, columns, min, max, integers)”;2. 其中,rows和columns分别为所需生成的随机数的行数和列数;3. min和max分别为所需生成的随机数的最小值和最大值;4. integers为True时,生成的随机数为整数;为False时,生成的随机数为小数。
RANDARRAY函数可以一次生成多个随机数或随机整数,并且可以根据需要指定生成的最小值、最大值和是否为整数。
excel一定范围内和确定的随机数摘要:1.Excel生成随机数的两种方法2.如何在一定范围内生成随机数3.如何生成特定数量的随机数4.如何实现有条件的随机数生成5.总结与建议正文:在Excel中,生成随机数是常用的操作之一。
本文将介绍如何在Excel中生成一定范围内和确定的随机数,以及有条件的随机数生成方法。
首先,我们来看如何在一定范围内生成随机数。
在Excel中,可以使用RANDBETWEEN函数来实现。
例如,如果你想生成一个在1到100之间的随机整数,你可以输入以下公式:=RANDBETWEEN(1, 100)。
这个公式将生成一个1到100之间的随机整数。
其次,如果你想生成特定数量的随机数,可以使用以下步骤:1.选中一个单元格。
2.输入公式:=RANDBETWEEN(1, 100)3.按回车键,这个单元格将生成一个1到100之间的随机整数。
4.复制这个单元格的公式,然后将其粘贴到其他单元格中,直到达到你想要生成的随机数数量。
此外,Excel还可以实现有条件的随机数生成。
例如,如果你想在一组数据中生成一个随机数,但是这个随机数需要满足某个条件,你可以使用以下公式:=RAND()*(总量-已生成数量)/剩余数量。
例如,假设你有一组10个数据,已经生成了5个,那么你可以输入以下公式:=RAND()*5/5,这个公式将生成一个满足条件的随机数。
最后,总结一下,Excel中的随机数生成功能非常实用,可以应用于各种场景。
无论是生成一定范围内的随机数,还是生成特定数量的随机数,或者是满足条件的随机数,都可以通过Excel轻松实现。
并且,Excel的公式可以根据实际需求进行修改和调整,以满足不同的随机数生成需求。
建议大家在使用Excel生成随机数时,可以先明确需求,然后根据需求选择合适的公式和方法。
同时,为了保证随机数的准确性和一致性,尽量避免使用直接手动输入随机数的方式,而使用Excel的公式进行生成。
常用概率函数在EXCEL中实现在Excel中,常用的概率函数可以使用内置函数进行实现。
下面将介绍四个常用的概率函数以及它们在Excel中的实现方法。
1.正态分布函数(NORM.DIST)正态分布函数可以用于计算一个随机变量处于指定范围内的概率。
在Excel中,可以使用NORM.DIST函数来计算正态分布的概率。
语法:NORM.DIST(x,mean,standard_dev,cumulative)-x:要计算概率的数值。
- mean:正态分布函数的均值。
- standard_dev:正态分布函数的标准差。
- cumulative:一个逻辑值,指定概率函数是累积函数(TRUE)还是密度函数(FALSE)。
例如,要计算一个随机变量X的值小于等于5的概率,该随机变量服从均值为10,标准差为2的正态分布,可以使用以下公式:=NORM.DIST(5,10,2,TRUE)2.标准正态分布函数(NORM.S.DIST)标准正态分布函数可以用于计算一个随机变量在标准正态分布中的概率。
在Excel中,可以使用NORM.S.DIST函数来计算标准正态分布的概率。
语法:NORM.S.DIST(z,cumulative)-z:要计算概率的数值。
- cumulative:一个逻辑值,指定概率函数是累积函数(TRUE)还是密度函数(FALSE)。
例如,要计算一个随机变量Z的值小于等于1的概率,可以使用以下公式:=NORM.S.DIST(1,TRUE)3.卡方分布函数(CHISQ.DIST)卡方分布函数可以用于计算一个随机变量处于指定范围内的概率。
在Excel中,可以使用CHISQ.DIST函数来计算卡方分布的概率。
语法:CHISQ.DIST(x,deg_freedom,cumulative)-x:要计算概率的数值。
- deg_freedom:卡方分布的自由度。
- cumulative:一个逻辑值,指定概率函数是累积函数(TRUE)还是密度函数(FALSE)。
例子:怎么在excel中编设变量-10到+10之间随机变量公式,“+”还要显示保留两位小数。
任意单元格输入=TEXT(RAND()*20-10,"[>0]+0.00;-0.00")excel 2007随机函数(RAND())的使用方法.求教:我的电子表格中rand()函数的取值范围是-1到1,如何改回1到0回答:有两种修改办法:是[1-rand()]/2,或[1+rand()]/2。
效果是一样的,都可生成0到1之间的随机数电子表格中RAND()函数的取值范围是0到1,公式如下:=RAND()如果取值范围是1到2,公式如下:=RAND()*(2-1)+1RAND( )注解:若要生成a与b之间的随机实数:=RAND()*(b-a)+a如果要使用函数RAND生成一随机数,并且使之不随单元格计算而改变,可以在编辑栏中输入“=RAND()”,保持编辑状态,然后按F9,将公式永久性地改为随机数。
示例RAND()介于0到1之间的一个随机数(变量)=RAND()*100大于等于0但小于100的一个随机数(变量)excel产生60-70随机数公式=RAND()*10+60要取整可以用=int(RAND()*10+60)我想用excel在B1单元个里创建一个50-80的随机数且这个随机数要大于A1单元个里的数值,请教大家如何编写公式!整数:=ROUND(RAND()*(80-MAX(50,A1+1))+MAX(50,A1+1),0)无需取整数:=RAND()*(80-MAX(50,A1))+MAX(50,A1)要求:1,小数保留0.12,1000-1100范围3,不要出现重复=LEFT(RAND()*100+1000,6)至于不许重复你可以设置数据有效性在数据-有效性设=countif(a:a,a1)=1选中a列设有效性就好了其他列耶可以急求excel随机生成数字的公式,取值要在38.90-44.03之间,不允许重复出现,保留两位小数,不允许变藏=round(RAND()*5+38.9,2)公式下拉Excel随机数Excel具有强大的函数功能,使用Excel函数,可以轻松在Excel表格产生一系列随机数。
第二题2.使用RAND函数进行抽样:某公司需要从100名员工中随机抽取10名参加义务植树活动。
现在需要通过EXCEL选择员工的编号,并对员工的编号进行排序,写出结果:(小题解题主要步骤)工具—加载宏—分析数据库,如下图然后点击确定,数据分析选项就会出现在菜单栏的工具下,点击插入—函数—Rand函数,如下图:点击确定,在函数栏输入=RAND()*(100-1)+1,确定即可得一个数值,如选中单元格,右键单击,选择设置单元格格式,如下既得一个随机数值002,拖动填充柄,得到10个数值,再选中者10个数,选择复制,再右键单击,选择选择性粘贴—数值,如下确定,然后排序一下就可以了.3.使用RANDBETWEEN函数进行抽样:某体育彩票进行抽奖,需要从标号00001~99999的消费者中随机抽取10位中奖者,试采用RANDBETWEEN函数随机选中观众的号码,写出结果:(小题解题步骤)插入—函数—RANDBETWEEN,如下点击确定,在出现的参考函数编辑器中输入如下数据,如图:点击确定,右键单击单元格格式步骤如上一题所示,确定.4.利用“随机发生器”进行抽样:某体育彩票进行抽奖,需要从标号00001~99999的消费者中随机抽取10位中奖者,试采用随机发生器随机选中观众的号码,并对号码进行排序,写出结果:(4小题解题步骤:)工具—数据分析—随机数发生器,确定,在弹出的编辑器中输入如下数据:点击输出区域右边的指定10个单元格,确定即可,再将单元格格式设置一下,将得出的10个数值固定,和以上题相同: 确定,排序即可.5.利用抽样宏进行抽样:某图书进行推销活动,从购物清单标号001-100的消费中随机抽取10为幸运者免费赠送作何编号作为签名的图书,使用抽样宏随机抽取出幸运消费则的编号:(5小题解题步骤)先做一个表,利用填充柄会很快.如下图工具—数据分析—抽样:确定.如下图;输入区域为有100个数字的单元格(用鼠标选中即可),输出区域为任意的10个单元格,如图:确定,产生10个随机数,再固定为数值设置数字格式:确定,在排序就可以了.6.利用等距抽样进行抽样:某城市有私营企业300个,拟定样本量为7个,利用等距抽样进行企业营销状况调查,写出抽样结果:(6小题解题步骤)如图,输入一下信息:B3单元格即可得值将B3中的数值调整为整数,利用Round函数: 确定,在弹出的编辑器中进行编辑,结果如下:既得整数43.接下来用ROUNDBETWEEN函数从1-43中选出一个数,作为第一个随机数, 插入—函数—ROUNDBETWEEN如图:确定,在弹出的编辑器中输入一下信息:确定,既得第一个随机数,固定得出的第一个数为数值(方法同上) 在B6单元格输入=B5+B4,如图:将光标放在B4处,按F4键,则出现按回车键,则计算出第一个数,用填充柄进行填充得出七个数设置单元格格式,如图:确定,就可以了.如图:完成.。
EXCEL随机码公式在Excel中生成随机码,可以使用以下两种方法:使用函数和宏。
下面我将详细介绍这两种方法。
使用函数生成随机码:1.使用RANDBETWEEN函数:2.使用CHAR函数和RANDBETWEEN函数:CHAR函数将数字转换为相应的字符。
结合RANDBETWEEN函数,我们可以生成一个字符串型的随机码。
-首先,在A1单元格输入以下公式:=CHAR(RANDBETWEEN(65,90)),然后拖动填充下列单元格以生成一列大写字母。
-在B1单元格输入以下公式:=A1&CHAR(RANDBETWEEN(48,57))&CHAR(RANDBETWEEN(97,122)),然后拖动填充下列单元格以生成一列随机码。
该公式将生成一个由一个大写字母、一个数字和一个小写字母组成的随机码。
使用宏生成随机码:宏是一种程序,可以在Excel中自动执行多个任务。
您可以使用VBA (Visual Basic for Applications)编写宏来生成随机码。
2.在左侧的“项目浏览器”窗格中,双击“Sheet1(或其他工作表名称)”以打开一个代码窗口。
3.在代码窗口中,输入以下宏代码:```Sub GenerateRandomCodeDim rng As RangeDim cell As RangeSet rng = Range("A1:A10") '指定生成随机码的单元格范围For Each cell In rngcell.Value = GenerateCode( '调用GenerateCode子程序生成随机码Next cellEnd SubFunction GenerateCode( As StringDim code As StringDim i As IntegerFor i = 1 To 6 '生成6位数的随机码Select Case Int((3) * Rnd + 1) '生成随机数(1到3)Case 1code = code & Chr(Int((90 - 65 + 1) * Rnd + 65)) '生成大写字母Case 2code = code & Chr(Int((122 - 97 + 1) * Rnd + 97)) '生成小写字母Case 3code = code & Chr(Int((57 - 48 + 1) * Rnd + 48)) '生成数字End SelectNext iGenerateCode = code '返回生成的随机码End Function```4.按下F5运行宏。
例子:怎么在excel中编设变量-10到+10之间随机变量公式,“+”还要显示保留两位小数。
任意单元格输入=TEXT(RAND()*20-10,"[>0]+0.00;-0.00")excel 2007随机函数(RAND())的使用方法.求教:我的电子表格中rand()函数的取值范围是-1到1,如何改回1到0回答:有两种修改办法:是[1-rand()]/2,或[1+rand()]/2。
效果是一样的,都可生成0到1之间的随机数电子表格中RAND()函数的取值范围是0到1,公式如下:=RAND()如果取值范围是1到2,公式如下:=RAND()*(2-1)+1RAND( )注解:若要生成a与b之间的随机实数:=RAND()*(b-a)+a如果要使用函数RAND生成一随机数,并且使之不随单元格计算而改变,可以在编辑栏中输入“=RAND()”,保持编辑状态,然后按F9,将公式永久性地改为随机数。
示例RAND()介于0到1之间的一个随机数(变量)=RAND()*100大于等于0但小于100的一个随机数(变量)excel产生60-70随机数公式=RAND()*10+60要取整可以用=int(RAND()*10+60)我想用excel在B1单元个里创建一个50-80的随机数且这个随机数要大于A1单元个里的数值,请教大家如何编写公式!整数:=ROUND(RAND()*(80-MAX(50,A1+1))+MAX(50,A1+1),0)无需取整数:=RAND()*(80-MAX(50,A1))+MAX(50,A1)要求:1,小数保留0.12,1000-1100范围3,不要出现重复=LEFT(RAND()*100+1000,6)至于不许重复你可以设置数据有效性在数据-有效性设=countif(a:a,a1)=1选中a列设有效性就好了其他列耶可以急求excel随机生成数字的公式,取值要在38.90-44.03之间,不允许重复出现,保留两位小数,不允许变藏=round(RAND()*5+38.9,2)公式下拉Excel随机数Excel具有强大的函数功能,使用Excel函数,可以轻松在Excel表格产生一系列随机数。
1、产生一个小于100的两位数的整数,输入公式=ROUNDUP(RAND()*100,0)。
RAND()这是一个随机函数,它的返回值是一个大于0且小于1的随机小数。
ROUNDUP函数是向上舍入数字,公式的意义就是将小数向上舍入到最接近的整数,再扩大100倍。
2、产生一个四位数N到M的随机数,输入公式=INT(RAND()*(M-N+1))+N。
这个公式中,INT函数是将数值向下取整为最接近的整数;因为四位数的随机数就是指从1000到9999之间的任一随机数,所以M为9999,N为1000。
RAND()的值是一个大于0且小于1的随机小数,M-N+1是9000,乘以这个数就是将RAND()的值对其放大,用INT函数取整后,再加上1000就可以得到这个范围内的随机数。
[公式=INT(RAND()*(9999-1000+1))+1000]3、Excel函数RANDBETWEEN是返回位于两个指定数之间的一个随机数。
使用这一个函数来完成上面的问题就更为简单了。
要使用这个函数,可能出现函数不可用,并返回错误值#NAME?。
选择"工具"菜单,单击"加载宏",在"可用加载宏"列表中,勾选"分析工具库",再单击"确定"。
接下来系统将会安装并加载,可能会弹出提示需要安装源,也就是office安装盘。
放入光盘,点击"确定",完成安装。
现在可以在单元格输入公式=RANDBETWEEN(1000,9999)。
最后,你可以将公式复制到所有需要产生随机数的单元格,每一次打开工作表,数据都会自动随机更新。
在打开的工作表,也可以执行功能键F9,每按下一次,数据就会自动随机更新了。
用Excel随机函数rand()生成随机数和随机字母以前使用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+9 7)))),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48)),IF(INT(RAND()*2)=0,C HAR(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)),CH AR(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()=INDE X($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中生成随机数RAND返回大于等于0 及小于1 的均匀分布随机数,每次计算工作表时都将返回一个新的数值。
语法:RAND( )说明:若要生成a 与b 之间的随机实数,请使用:RAND()*(b-a)+a如果要生成整数,则输入:=INT(RAND()*(b-a)+a)如果要使用函数RAND 生成一随机数,并且使之不随单元格计算而改变,可以在编辑栏中输入“=RAND()”,保持编辑状态,然后按F9,将公式永久性地改为随机数。
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
操作方法创建空白工作簿或工作表。
请在“帮助”主题中选取示例。
不要选取行或列标题。
从帮助中选取示例。
按Ctrl+C。
在工作表中,选中单元格A1,再按Ctrl+V。
若要在查看结果和查看返回结果的公式之间切换,请按Ctrl+`(重音符),或在“工具”菜单上,指向“公式审核”,再单击“公式审核模式”。
123A B公式说明(结果)=RAND() 介于0 到1 之间的一个随机数(变量)=RAND()*100 大于等于0 但小于100 的一个随机数(变量)如果只要显示重复的数据,可以使用条件格式来显示:选定AB列,点"格式"->"条件格式",将条件1设为:公式=COUNTIF($A:$B,A1)>1点"格式"->"字体"->"颜色",选中红色,点两次"确定".用条件格式选中A列,格式-条件格式,条件选择公式,并输入公式:=COUNTIF(A:A,A1)>1,格式按钮,设置字体颜色或背景(图案)颜色。