当前位置:文档之家› 在excel表格的单元格中随机生成数据

在excel表格的单元格中随机生成数据

在excel表格的单元格中随机生成数据
在excel表格的单元格中随机生成数据

在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()”,

保持编辑状态,然后按 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中生成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

使用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}=RANDBET WEEN(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,1 28,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随机数据生成方法

求教:我的电子表格中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) 至于不许重复 你可以设置数据有效性 在数据-有效性设 =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中产生随机数

用excel产生随机数 统计软件提供的随机数发生器可以使我们对抽样分布进行计算机模拟,对抽样分布有更加直观的理解。Excel的分析工具库中有一个“随机数发生器”模块,可以产生服从大部分常用分布的模拟数据,但没有提供直接产生随机数的函数。在SPSS中产生随机数的函数在“Randomnumbers”类别中,相应的函数都是以Rv 开头的。 1 样本均值抽样分布的随机模拟 假总体的均值为μ,标准差为σ,则统计理论表明,不论总体的分布如何,只要样本容量n足够大,样本均值的分布总会趋向于正态分布,且均值为μ,标 准差为。 例题:假设总体为均匀分布,模拟样本均值的抽样分布。 假设总体的分布为0-1区间上的均匀分布,则总体的均值为0.5,方差等于 1/12,标准差等于0.288675。现在,我们从总体中抽取1000个样本容量为2的样本(有放回抽样),计算每个样本的样本均值,然后观察样本均值的分布状况。 新建一个Excel工作簿,单击“工具”“数据分析”“随机数发生器”,在弹出的对话框中把变量个数设为2,随机数个数为1000,选择0-1区间的均匀分布,结果放在新工作表中(图1)。把输出结果的每一行看作一个容量为2的样本,共有1000个样本。在C列中计算每个样本的均值。接下来我们就可以分析这1000个样本均值的分布状况了。由于SPSS的直方图工具更为方便,我们把相应的数据复制到SPSS中作直方图,结果如图2,抽样分布的均值为0.5097,标准差为 0.20345,理论值等于0.288675/ 2 =0.20412,两者差异不大。 图1 随机数发生器对话框

图2 样本均值的抽样分布,样本容量=2 2 样本比例抽样分布的随机模拟 样本比例实质上就是指标数值只能取0和1时的样本均值。由于在这种情况下总体的分布为0-1分布,因此在重复抽样的条件下样本均值抽样分布的理论分布是二项分布。中心极限定理表明当样本用量足够大(能够保证np≥5,nq≥5)时二项分布可以用正态分布来近似。 [例] 假设有大批零件,不合格率p为0.2。随机模拟从总体中抽取样本容量分别为5,20,50的2000个样本,分析样本比例p? 的抽样分布。 新建一个工作表,在单元格中输入图5-10左上角所示的信息作为总体:总体中取值为1(不合格)的概率为0.2,取值为0(合格)的概率为0.8。 图3 二项分布的随机模拟

Excel数据处理技巧:PowerQuery插件一键生成报表.doc

Excel 数据处理技巧:Power Query 插件一键生成报表 每个月月底,财务小王都要汇总全国各地区的销售数据做数 据分析。之前他采用的方法就是把各个工作表的数据复制再 粘贴到一个工作表里,然后进行数据透视表分析。可是全国 有那么多城市,复制粘贴太费时间,而且如果中间数据有变 动怎么办?现在不用担心了,今天给大家介绍一个EXCEL 很好用的技能 Power Query,帮助大家实现动态获取多工作表 数据。 一、初识 Power Query 如下图,在这个工作簿里,各个工作表分别列举了全国各个 地区的销售数据,这里为了举例,只列举四个城市的基本数 据。 首先,打开数据选项卡下,在[ 获取与转换 ]组中,新建查询---从文件 --- 从工作簿。

Power Query 本来是 EXCEL 的一个插件,在EXCEL2016 以前版本都需要另外下载,但是在 Excel2016 中,这项技能已经内置在数据选项卡 [ 获取与转换 ] 组中,以供大家直接使用。由此 足以可见 Power Query 的重要性。这里就推荐大家升级到最新的EXCEL 版本, EXCEL2016 以前的版本呢,大家可以自行百度下载安装这个插件。 在弹出的窗口中找到工作簿,导入。 在弹出的导航器界面,勾选“选择多项”,把这几个需要合 并的工作表全部选中,再选择右下角的“编辑”。 这样就进入了POWER QUERY 编辑器界面。 这个界面就是我们进行 Power Query 操作的主要界面,可以看到,上面的菜单栏跟 EXCEL 菜单栏很相似,左侧的查询窗口 显示的是打开的四个工作表,右侧查询设置界面是类似于 PS 一样的可以进行操作的记录和返回。中间区域则显示了表格的 内容。 二、使用 Power Query 汇总数据 点击开始选项卡下[ 组合 ] 组里面的追加查询。

Excel的随机数函数

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(I NT(RAND()*26)+65) 随机大小写混合字母:=CHAR(INT(RAND()*26)+if(INT(RAND()*2) =0,65,97)) 3、随机不重复数字序列的生成方法 (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,I NDEX(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:A 52中的第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这个区域里面,在BA1: BA52中,我们就得到了一个不重复的随机序列,

excel的生成随机数的函数用法

excel的生成随机数的函数用法 excel的生成随机数的函数用法: 生成随机数函数使用步骤1:首先介绍一下如何用rand()函数来生成随机数(同时返回多个值时是不重复的)。 如下图所示,在单元格中输入=rand(),回车后单元格即返回了一个随机数字。 生成随机数函数使用步骤2:rand()函数返回的随机数字的范围是大于0小于1。因此,也可以用它做基础来生成给定范围内的随机数字。 生成随机数函数使用步骤3:生成制定范围的随机数方法是这样的,假设给定数字范围最小是a,最大是b,公式是:=a+rand()*(b-a)。 生成随机数函数使用步骤4:举例来说,要生成大于60小于100的随机数字,因为(100-60)*rand()返回结果是0到40之间,加上范围的下限60就返回了60到100之间的数字。 生成随机数函数使用步骤5:上面rand()函数返回的0到1之间的随机小数,如果要生成随机整数的话就需要用randbetween()函数了,如下图该函数生成大于等于1小于等于100的随机整数。 生成随机数函数使用步骤6:这个函数的语法是这样的:=randbetween(范围下限整数,范围上限整数),结果返回包含上

下限在内的整数。注意:上限和下限也可以不是整数,并且可以是负数。 生成随机数函数使用步骤7:rand()和randbetween()是生成随机数的基础函数,也可以灵活变通。比如说要生成0.01至1之间包含两位小数的随机数,则可用下图的公式实现: 看了excel的生成随机数的函数用法还看了:1.excel用函数产生随机数的方法 2.怎么利用excel2010的自带的函数生成随机数 3.怎样用excel随机生成数字 4.excel怎么生成随机数 5.excel2010生成随机数的方法 6.excel2007怎么使用randbetween随机数函数 7.随机数函数randbetween在excel中的使用

Excel自动生成员工简历表

Excel自动生成员工简历表 我们可以用Excel自动提取“员工基本情况登记表”中的信息,生成并打印员工简历表……[编者]前面我们介绍了《Excel常用函数的功能和使用方法》,现在我们学以致用,介绍一系列用这些函数实现的数据统计实例解析。今天我们介绍用Excel自动提取“员工基本情况登记表”中的信息,生成并打印员工简历表。 朋友在做人事工作,常常要打印指定员工的简历表,由于“员工基本情况登记表”是用Excel制作的,我们可以用Excel来自动提取“员工基本情况登记表”中的信息,生成并打印员工简历表,十分方便。文章末尾提供.xls文件供大家下载参考。 本文涉及的Excel函数如下,点击可查看详细信息: 1、IF (Logical,Value_if_true,Value_if_false) 2、ISERROR (value) 3、VLOOKUP (lookup_value,table_array,col_index_num,range_lookup) 应用过程: 1、启动Excel2003(其他版本请仿照操作),打开“员工基本情况登记表”工作簿(如图1)。 2、切换到Sheet2工作表中,仿照图2的样式制作好简历表的框架。

3、分别选中需要填写内容的单元格(除B2单元格外,如D2、F2等),输入公式:=IF(ISERROR(VLOOKUP(B2,简历!A3:K12,*,FALSE)),"",VLOOKUP(B2,简 历!A3:K12,*,FALSE))。 注意:①上述公式中的“*”号,表示“简历”表中,相应的数据所对应的列数:如“出生时间”在第“5”列(参见图1),在J2单元格中输入公式时,将“*”修改为“5”,即: =IF(ISERROR(VLOOKUP(B2,简历!A3:K12,5,FALSE)),"",VLOOKUP(B2,简 历!A3:K12,5,FALSE))。 ②公式的含义是:如果公式“VLOOKUP(B2,简历!A3:K12,5,FALSE)”返回错误(ISERROR),则有显示“空”(""),反之显示公式的返回结果。 4、选中J2单元格,再按住Ctrl键,点击C3单元格,同时选中J2和C3单元格,执行“格式→单元格”命令,打开“单元格格式”对话框(如图3),在“数字”标签中,选中“分类”下面的“日期”选项,然后在右侧选定一种日期类型,确定返回。

使用VBA实现EXCEL批量生成图表并发送

使用EXCEL VBA实现图表批量生成并发送 业务需求 office word2007的邮件合并功能是财务、文秘类工作经常使用的功能之一,该功能可以生成包含可变内容的批量邮件文档,广泛适用于发送工资条、成绩单、通知书等,这里不再赘述。笔者所在单位最近为加强员工考核管理工作力度,提出了一个类似于邮件合并功能,但使用邮件合并功能却不能实现的需求,下面用文字结合图表描述: 1.将员工百分制考核结果批量以图表(折线图)反应出来,每一条员工数据均生成一个类似于下图右侧的图表。 (图1) 2.使用类似于邮件合并方式实现员工考核图表的批量发送,将生成的图表插入邮件正文分别发送给每位员工。 (图2) 解决思路 思路一:使用https://www.doczj.com/doc/fd13073779.html,+Sqlserver(或ACCESS等,下同)开发一个网站,设置好权限,允许员工查看自己的反馈结果。 思路评价:可行,但达不到设想中的推送效果。 思路二:使用https://www.doczj.com/doc/fd13073779.html,+Sqlserver开发一个系统,内置图表模板,图表基于固定区域数据生成;为每位员工复制一份作为报表,将该员工数据填写到固定区域;将每位员工的报表作为附件发送给每位员工。 思路评价:可行,但开发量大,效果不直观。

思路三:使用https://www.doczj.com/doc/fd13073779.html,+Sqlserver开发一个系统,使用VS2008版以上自带控件或第三方控件如dotnetcharting,为每位员工生成一张图片,将该图片插入邮件发送给每位员工。 思路评价:可行,但开发量大。 思路四:使用excel VBA为每位员工生成一张图片,将该图片插入邮件发送给每位员工。这个思路一开始并没有列入考虑范围,主要原因是当时认为在excel中为每位员工生成一个图表是不可能的,即使能生成也没办法脱离excel工作薄,分别和员工对应起来并发送。最终采用本思路,是缘于笔者发现VBA可以非常容易地把图表导出为图片。 思路评价:可行,事实证明,开发量比想象的小很多。 开发环境准备 1.在运行该程序的电脑上安装Office Excel2007或以上版本; 2.正确配置OUTLOOK使之能够正常发送邮件; 3.打开Excel2007新建工作薄,把测试数据输入到sheet1工作表,把工作薄保存到工作目录(为方便后文描述,这里的目录设为“E:\excel-vba”),在该目录下新建“imgfile”子目录,以存放图片。示例数据如下: 注意:附件路径是个公式:=concatenate(“E:\excel-vba\imgfile\”,A1,”.jpg”) 含义是图片以员工姓名命名,这意味着员工姓名不可重复。 4.完成宏安全设置,如图所示: (图3) 实现过程 这个业务需求实现包含两个难点,一是为每位员工生成对应的图片;二是批量发送带图片的邮件。基于这两点,笔者在excel工作薄中设置了两个按钮,编写了两段代码,分别对应上述两个问题。事实上,这两段代码完全可以整合到一起,这里为了方便理解,还是分开介绍。笔者采取代码中加入注释的方式帮助大家理解代码含义。

Excel数据处理技巧:Power-Query插件一键生成报表复习课程

Excel数据处理技巧:Power Query插件一键生成报表 每个月月底,财务小王都要汇总全国各地区的销售数据做数据分析。之前他采用的方法就是把各个工作表的数据复制再粘贴到一个工作表里,然后进行数据透视表分析。可是全国有那么多城市,复制粘贴太费时间,而且如果中间数据有变动怎么办?现在不用担心了,今天给大家介绍一个EXCEL 很好用的技能Power Query ,帮助大家实现动态获取多工作表数据。 一、初识Power Query 如下图,在这个工作簿里,各个工作表分别列举了全国各个地区的销售数据,这里为了举例,只列举四个城市的基本数据。 首先,打开数据选项卡下,在[ 获取与转换]组中,新建查询---从文件--- 从工作簿。 Power Query 本来是EXCEL 的一个插件,在EXCEL2016 以前版本都需要另外下载,但是在Excel2016 中,这项技能已经内置在数据选项卡[获取与转换]组中,以供大家直接使用。由此足以可

见Power Query 的重要性。这里就推荐大家升级到最新的EXCEL 版本,EXCEL2016 以前的版本呢,大家可以自行百度下载安装这个插件。 在弹出的窗口中找到工作簿,导入。 在弹出的导航器界面,勾选“选择多项”,把这几个需要合并的工作表全部选中,再选择右下角的“编辑”。 这样就进入了POWER QUERY 编辑器界面。 这个界面就是我们进行Power Query 操作的主要界面,可以看到,上面的菜单栏跟EXCEL 菜单栏很相似,左侧的查询窗口显示的是打开的四个工作表,右侧查询设置界面是类似于PS 一样的可以进行操作的记录和返回。中间区域则显示了表格的内容。 二、使用Power Query 汇总数据点击开始选项卡下[组合]组里面的追加查询。 在下拉列表中选择“将查询追加为新查询 由于这里有多个表,所以选择追加三个或更多表。把左侧的可用表添加到右侧,点击确定

用EXCEL按比例生成随机数

用EXCEL按比例生成随机数(或叫按机率生成随机数) 这是百度知道一位同学的提问。要求生成范围为1到50的随机整数,并且,1-15的机率为50%,16-36的机率为30%,37-50的机率为20%。同时还要求生成500组,每组8个。 我当时给出一个公式: =if(rand()<0.5,round(rand()*14,0)+1,if(rand()<0.6,round(rand()*20,0)+16,round(r and()*13,0)+37)) 这里说下用round和用int的区别,用int生成16-36的随机数的话应该用 int(rand()*21+16),而用round可用round(rand()*20+16),这后面的+16放括号里面外面都一样,因为取整操作是由小数部分决定的。 还有我第二个if的判断用的是rand()<0.6而不是小于0.3,这是因为第二个if会执行的机率是50%,50%乘以0.6就是30%。 后来楼主同学又出怪招,要求每组无重复数字,每组从小到大排列。 这个只用单纯的公式的话不好办了。 我写了个VBA: Sub madeRnd() Dim i, j, k, a(8), flag, t Sheets("Sheet1").Select For k = 1 To 500 '生成一组随机数字 For i = 1 To 8 flag = 0 Do Randomize t = Rnd() If t < 0.5 Then a(i) = Int(Rnd() * 15 + 1) ElseIf t < 0.8 Then a(i) = Int(Rnd() * 21 + 16) Else a(i) = Int(Rnd() * 14 + 37) End If If i >= 2 Then For j = 1 To i - 1 If a(i) = a(j) Then flag = 1 Exit For Else

excel生成大表格

竭诚为您提供优质文档/双击可除 excel生成大表格 篇一:如何使excel表格自动生成相同的表头 类别:闲云笔记 如何使excel表格自动生成相同的表头 从“文件”菜单中选“页面设置”,在最后一个选项卡“工作表”中有一个“打印标题”,再单击“顶端标题行”右端的切换按钮,在表格中选中需要的标题行,再单击切换按钮回到“页面设置”页面,最后单击“确定”按钮。然后通过“打印预览”观看实际效果。也可在“打印标题”下面的“顶端标题行”中输入“$1:$2”(不含引号)。 第页总第页 篇二:excel随机数据生成方法 求教:我的电子表格中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)

为什么excel中norminv(rand()-mean-standard-dev)可以产生符合正态分布的随机数教学文案

均值为1,标准差为0.3的正态分布概率密度函数图 4 4.2 4.4 4.6 4.8 5 5.2 5.4 5. 6 5.86 00.2 0.4 0.6 0.8 1 1.2 1.4 4 4.2 4.4 4.6 4.8 5 5.2 5.4 5. 6 5.8600.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

均值为1,标准差为0.3的正态分布概率分布函数图 首先看norminv 函数作用: norminv(v,mean,standard_dev)的作用是求出在均值为mean ,标准差为standard_dev 的正态分布函数曲线上对应纵轴为v 那个横轴数值。 即norminv 本质是正态概率分布函数的反函数。 然后找一个具体数值进行分析。 对于我们给定的均值为5,标准差为0.3的正态分布有()5.250.7977P X ≤=。 那通过y=norminv(rand(),5,0.3)(即让v=rand(),即让v 通过01均匀分布函数发生器rand ()产生,或者说v 分布符合01均匀分布)产生的随机数是否有()5.250.7977P y ≤=,或者说为什么当我们让v 通过01均匀分布函数发生器rand ()产生,就有()5.250.7977P y ≤=? 分析解释: 我们知道由于v 通过01均匀分布函数发生器rand ()产生,所以P(v ≤k)=k ,所以 ()0.79770.7977 P v ≤=,即v 出现在正态概率分布函数纵轴[0,0.7977]范围内的概率是0.7977.根据norminv 本质是正态概率分布函数的反函数可知,y=norminv(rand(),5,0.3)出现在正态概率分布函数图像横轴(-∞,5.25]范围内的概率也是0.7977,即()5.250.7977 P y ≤=

VBA一键拆分合并批量生成Excel工作表

VBA一键拆分合并批量生成Excel工作表 目录 1. 一次取消所有工作表的隐藏 (2) 2. 根据模板批量生成日报表 (2) 3. 拆分工作表为单独的excel文件 (3) 4. 合并多个Excel文件工作表到一个文件中 (4)

1.一次取消所有工作表的隐藏 Sub 取消隐藏() For x = 1 To Sheets.Count If Sheets(x).Name <> "Sheet1" Then Sheets(x).Visible = -1 End If Next x End Sub Sub 隐藏() For x = 1 To Sheets.Count If Sheets(x).Name <> "Sheet1" Then Sheets(x).Visible = 0 End If Next x End Sub 2.根据模板批量生成日报表 Sub 生成报表() Dim x As Integer Dim sh As Worksheet For x = 1 To 31

Set sh = Sheets.Add With sh .Name = x & "日" Sheets("日报模板").Range("1:15").Copy sh.Range("A1") End With Next x End Sub 3.拆分工作表为单独的excel文件 Sub 拆分表格() Dim x As Integer Dim wb As Workbook Application.ScreenUpdating = False For x = 2 To 32 Sheets(x).Copy Set wb = ActiveWorkbook With wb .SaveAs ThisWorkbook.Path & "/3月/" & Sheets(x).Name & ".xlsx" .Close True End With Next x Application.ScreenUpdating = True End Sub

excel生成随机数

excel生成随机数 2010年05月25日星期二 16:45 EXCEL函数生成随机数和字母2010-04-28 20:00 生成随机数=RAND() 公式说明=RAND() 介于0 到 1 之间的一个随机数(变量) 若要生成a 与 b 之间的随机实数:=RAND()*(b-a)+a 生成生成a 与 b 之间的随机整数: =INT(RAND()*(100-50)+50) 向下取整 =ROUND(RAND()*(100-50)+50,0) 四舍五入0指0位小数 =CEILING(RAND()*(100-50)+50,1) 向上舍入,1最接近1的倍数 =EVEN(RAND()*(100-50)+50,1) 舍入为偶数 =ODD(RAND()*(100-50)+50,1) 舍入为奇数 如果要使用函数RAND 生成一随机数,并且使之不随单元格计算而改变,可以在编辑栏中输入“=RAND()”,保持编辑状态,然后按F9,将公式永久性地改为随机数。 比如给定A1:A5的5个词,在B1中随机产生这给定的5个词中的一个, =index(a1:a5,1+int(5*rand())) INT 取整,rand 为0到1的随机数值,int(5*rand())为0到4的整数, index(a1:a5,1+int(5*rand())) 为引用a1:a5 的随机1到5行。 随机小写字母:=CHAR(INT(RAND()*26)+97) 随机大写字母:=CHAR(INT(RAND()*26)+65) 随机大小写混合字母:=CHAR(INT(RAND()*26)+if(INT(RAND()*2)=0,65,97)) CHAR(number) Number 是用于转换的字符代码,介于1 到255 之间。使用的是当前计算机字符集中的字符。=CHAR(65) 显示字符集中的第65 个字符(A) 其中48~57为0到9十个阿拉伯数字; 65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。 我的答案一定对 =RAND()*-100+50 即为-50到50的随机数,不是取整数 只需把“=INT(RAND()*-100+50)”双引号里面的部分复制到单元格即可,这个为取整数 =RAND()表示0到1之间的随机数 =RAND()*-100则是-100到0之间的随机数, =RAND()*-100+50则是-50到50之间的随机数 取整数为 =INT(RAND()*-100+50) 注意:INT函数为取整,表示小于该数的最小整数 如INT(8.13)=8而INT-8.13)=-9 不过这个不会影响你去随机数

excle中如何生成随机数

=RAND()此函数是生成0~1之间的随机小数。 若要生成 a 与 b 之间的随机实数,应使用: =RAND()*(b-a)+a 所以若生成1 与 10 之间的随机实数,应使用: =RAND()*9+1 A1 输入=rand() 下拉至A1000 B1 输入1, B2 输入2, 下拉至B1000, 即B1000 是1000 点选a1:b1000, 以A列排序 B列便是1-1000的随机数, 且不重复 再来看下一个函数,求整函数 =int(a)表示的是求不大于a的最大整数,比如 int(6.78)=6; int(9)=9; int(-1.5)=-2 int(π)=3 现在把这两个函数结合到一起,就可以完成你的问题了。 选中某一列的第一行的单元格,在其中输入 =int(rand()*9)+1 或者输入: =int(rand()*9+1) 都可以得到1-10之间的一个随机整数。 然后用鼠标拖动该单元右下角的填充柄向下拖动,就可以得到一列符合条件的1-10之间的随机整数了。 用同样的方法你也可以得到一行或多行或多列甚至一个工作表的随机数。 在excel中如何产生不重复随机数? 问题: 如何在Excel b2:b101中,填充1-100范围的不重复随机数?

方法: Sub 不重复随机数() For i = 2 To 101 Range("b" & i) = "" ‘初始化要填充的范围 Next i For i = 2 To 101 Range("b" & i) = Int(Rnd() * 100) + 1 Do While WorksheetFunction.CountIf(Range("b2:b101"), Range("b" & i)) > 1 Range("b" & i) = Int(Rnd() * 100) + 1 Loop Next i End Sub 注: (1)VBA中有随机函数rnd(),功能是:返回一个小于1,同时大于等于0的随机数。若要产生一个范围从lowerbound为m,到upperbound为n的随机数序列,常用算法是:int(rnd()*(n-m+1))+m (2)countif()是Excel工作表中的函数,不可在VBA中直接调用,可以用“worksheetfunction.函数”作为方法来调用工作表函数。 MyValue = Int((6 * Rnd) + 1) ' 生成1 到6 之间的随机数值。 提供两组公式来生成不重复的1~25的随机数值:

JAVA 无需JXL和POI用PageOffice自动生成Excel表格

JAVA 无需JXL和POI用PageOffice自动生成Excel表格很多情况下,软件开发者需要从数据库读取数据,然后将数据动态填充到手工预先准备好的Excel模板文件里,这对于生成复杂格式的Excel报表文件非常有用,这个功能应用PageOffice的基本动态填充功能即可实现。但若是用户想动态生成一个没有固定模版格式的Excel报表时,换句话说,没有办法事先准备一个固定格式的模板时,就需要开发人员用后台代码实现Excel报表的动态生成功能了,即通过后台代码在Excel的工作表上画出相应表格,实现Excel文件的从零到有。这里的“零”指的是Excel空白文件。 下面我就如何通过后台代码实现在空白Excel文件中画表格,这一问题的具体步骤和大家分享一下。 就以通过后台自动生成一张“出差开支预算表”为例来向大家介绍一下吧。 第一步:拷贝文件到WEB项目的“WEB-INF/lib”目录下。拷贝PageOffice 示例中下的“WEB-INF/lib”路径中的pageoffice.cab和pageoffice.jar到新建项目的“WEB-INF/lib”目录下。 第二步:修改WEB项目的配置文件。将如下代码添加到配置文件中: poservercom.zhuozhengsoft .pageoffice.poserver.Server poserver /poserver.do poserver /pageoffice.cab poserver /popdf.cab

相关主题
文本预览
相关文档 最新文档