【www.guakaob.com--统计师考试】
如何在EXCEL表格随机自动生成数字备注:必须有两组数据(其中一组相同的数据是相同的)如下图(图1、图2)
图示1
图示 2
在第三列输入格式:rand()*(B1-A1)+B1 (B1>0,A1>0,且B1>A1) 如下图 (图
3)
图示3
若不需要小数点则右键设置单元格数值的小数点位置改为0,如下图:(图4、图5
)图4
图5
如果生成的数值要固定的格式(例如是六个数字)就如下图设置(图6
)
图6
倘若B1是相同的数字则用$B$1固定格式,倘若A1不是相同数字或者不同行列之类就不需要用,反之亦如此。($这个符号的输入必须是在半切角英文输入的状态下)如下图:(图7、图8) $
图
7
图8
倘若只是行列固定的那就在所标示的字母前加一个固定格式的符号。如下图(图9) $
图9
回车键一按即可完成数字随机生成。(图10、图11)
图10
求教:我的电子表格中rand()函数的取值范围是-1到1,如何改回1到0
回答:有两种修改办法:
是[1-rand()]/2,
或[1+rand()]/2。
效果是一样的,都可生成0到1之间的随机数
电子表格中RAND()函数的取值范围是0到1,公式如下:
=RAND()
如果取值范围是1到2,公式如下:
=RAND()*(2-1)+1
RAND( )
注解:
若要生成 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.1
2,1000-1100范围
3,不要出现重复
=LEFT(RAND()*100+1000,6) 至于不许重复【在EXECL中怎样调整表格为按字数随机】
你可以设置数据有效性
在数据-有效性设
=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+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中生成随机数
RAND
返回大于等于 0 及小于 1 的均匀分布随机数,每次计算工作表时都将返回一个新的数值。语法:RAND( )
说明:若要生成 a 与 b 之间的随机实数,请使用:
RAND()*(b-a)+a
如果要生成整数,则输入:=INT(RAND()*(b-a)+a)
如果要使用函数 RAND 生成一随机数,并且使之不随单元格计算而改变,可以在编辑栏中输入“=RAND()”,
保持编辑状态,然后按 F9,将公式永久性地改为随机数。
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
操作方法
创建空白工作簿或工作表。
请在“帮助”主题中选取示例。不要选取行或列标题。
从帮助中选取示例。
按 Ctrl+C。
在工作表中,选中单元格 A1,再按 Ctrl+V。
若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在“工具”菜单上,指向“公式审核”,再单击“公式审核模式”。
1
2
3
A B
公式 说明(结果)
=RAND() 介于 0 到 1 之间的一个随机数(变量)
=RAND()*100 大于等于 0 但小于 100 的一个随机数(变量)
如果只要显示重复的数据,可以使用条件格式来显示:
选定AB列,点"格式"->"条件格式",将条件1设为:
公式=COUNTIF($A:$B,A1)>1
点"格式"->"字体"->"颜色",选中红色,点两次"确定".
用条件格式
选中A列,格式-条件格式,条件选择公式,并输入公式:=COUNTIF(A:A,A1)>1,格式按钮,设置字体颜色或背景(图案)颜色。
在excel表格的单元格中,如何设置±20之间的随机数,要求如果是正数前面有+号,负数前面有-号
要求不出现0
最佳答案
=if(rand()<0.5,"+","-")&20-int(rand()*20)
追问
试了下果然可以,能具体为我讲解下吗?
回答
rand()产生一个0~1之间的随机小数,与0.5来进行比较,小于0.5输出+好,否则输出-号
20-int(rand()*20) 的意思是 int(rand()*20)产生一个0~19之间的数,20减去这个数就产生1~20之间的数.
追问
这个0.5还是不太理解,文科生,理解能力有限,海涵,呵呵
回答
0~1之间的随机小数,中间的数字就是0.5,以0.5为界刚好可以得到两个均分的组,小于0.5输出正号,大于0.5输出负号,也就实现了随机分组正负号.
excel中如何设+5到-10之间的随机数,要求正数前面有+号,负数前有-号,不出现0
2011-3-26 20:18
最佳答案
=TEXT(RANDBETWEEN(0,15)-10,"+0;-0;0")
追问
试了下,不行,而且,这个会出现0吧。
回答
=IF(RAND()>(4/13),TEXT(ROUNDUP(RAND()*10,0),"-0"),TEXT(ROUNDUP(RAND()*5,0),"+0"))
追问
果然如此,这个我理解不过来了,能具体为我讲解下吗?
回答
(ROUNDUP(RAND()*10取1到10的整数,4/13是保证两个区段的出现的概率相等
如何在EXCEL中生成随机数
返回大于等于 0 及小于 1 的均匀分布随机数,每次计算工作表时都将返回一个新的数值。
语法
=RAND()
说明
若要生成 a 与 b 之间的随机实数,请使用:
=RAND()*(b-a)+a
如果要生成整数,则输入:=INT(RAND()*(b-a)+a)
如果要使用函数 RAND 生成一随机数,并且使之不随单元格计算而改变,可以在编辑栏中输入“=RAND()”,【在EXECL中怎样调整表格为按字数随机】
保持编辑状态,然后按 F9,将公式永久性地改为随机数。
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
操作方法
创建空白工作簿或工作表。
请在“帮助”主题中选取示例。不要选取行或列标题。
从帮助中选取示例。
按 Ctrl+C。
在工作表中,选中单元格 A1,再按 Ctrl+V。
若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在“工具”菜单上,指向“公式审核”,再单击“公式审核模式”。
1
2
3【在EXECL中怎样调整表格为按字数随机】
A B
公式 说明(结果)
=RAND() 介于 0 到 1 之间的一个随机数(变量)
=RAND()*100 大于等于 0 但小于 100 的一个随机数(变量)
如果只要显示重复的数据,可以使用条件格式来显示:
选定AB列,点"格式"->"条件格式",将条件1设为:
公式=COUNTIF($A:$B,A1)>1
点"格式"->"字体"->"颜色",选中红色,点两次"确定".
用条件格式
选中A列,格式-条件格式,条件选择公式,并输入公式:
=COUNTIF(A:A,A1)>1,格式按钮,设置字体颜色或背景(图案)颜色。
如何在excel中生成1-33的随机整数
也可以是:=INT(RND()*34) 因为rnd()是产生一个0~1之间的随机浮点数,用这个浮点数*34得到了一个小于34的浮点数,再用INT取整即可
Excel 中怎样才能获得一个大于60小于100的随机整数?公式只能写在一个单元格里。
=INT(RAND()*41+60);取值范围是:60<=X<=100;
=INT(RAND()*39+61);取值范围是:60<X<100;
使用Excel怎么在一个确定的序列中随机抽取一个数?
比如在给定的一个序列:0,1,3,10 这四个数中随机抽一个数填入单元格
最佳答案
=choose(randbetween(1,4),0,1,3,10)
excel 中怎么样使 01 02 03 26 28 29 30 07 39 18 20 10 38 11 12 13 128 51 随即生成
2011-5-12 10:33
提问者:zhongbingui
等2人
| 浏览次数:135次
网友推荐答案
2011-5-12 16:35 dnydxw
| 八级
=SUMPRODUCT(({1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18}=RANDBETWEEN(1,18))*({1,2,3,26,28,29,30,7,39,18,20,10,38,11,12,13,128,51})) 或
=CHOOSE(RANDBETWEEN(1,18),1,2,3,26,28,29,30,7,39,18,20,10,38,11,12,13,128,51)
或
=SUMPRODUCT((COLUMN($A$1:$R$1)=RANDBETWEEN(1,18))*({1,2,3,26,28,29,30,7,39,18,20,10,38,11,12,13,128,51}))
或
=SUMPRODUCT((ROW($A$1:$A$18)=RANDBETWEEN(1,18))*({1;2;3;26;28;29;30;7;39;18;20;10;38;11;12;13;128;51}))
如果RANDBETWEEN(1,18)函数用不了,请改成使用RAND()的函数,如下: =SUMPRODUCT(({1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18}=INT(RAND()*17)+1)*({1,2,3,26,28,29,30,7,39,18,20,10,38,11,12,13,128,51}))
或
=CHOOSE(INT(RAND()*17)+1,1,2,3,26,28,29,30,7,39,18,20,10,38,11,12,13,128,51)
或
=SUMPRODUCT((COLUMN($A$1:$R$1)=INT(RAND()*17)+1)*({1,2,3,26,28,29,30,7,39,18,20,10,38,11,12,13,128,51}))
或
=SUMPRODUCT((ROW($A$1:$A$18)=INT(RAND()*17)+1)*({1;2;3;26;28;29;30;7;39;18;20;10;38;11;12;13;128;51}))
上一篇:将两个excel表合并
下一篇:在电子表格中将两个表合并为一个