excel 怎样实现自动生成随机数据

excel 怎样实现自动生成随机数据

看你想要什么样的数据,有个RAND()函数可以随机生成数据。

RAND

返回大于等于0 及小于1 的均匀分布随机数,每次计算工作表时都将返回一个新的数值。语法

RAND( )

说明

若要生成a 与b 之间的随机实数,请使用:

RAND()*(b-a)+a

如果要使用函数RAND 生成一随机数,并且使之不随单元格计算而改变,可以在编辑栏中输入“=RAND()”,保持编辑状态,然后按F9,将公式永久性地改为随机数。

示例

=RAND() 介于0 到1 之间的一个随机数(变量)

=RAND()*100 大于等于0 但小于100 的一个随机数(变量)

intouch 通过Excel 生成报表

1、自动生成需要的标记名 在intouch开发环境中,将向导库中/趋势/历史向导(HistData)放入窗口,这将自动生成若干标记名(如下)。有关标记名以HDW开头,加上他们的DDE的Item命名。 标记名说明如下: HDWDataDir 消息型历史数据文件的目录的路径名,可用函数赋值。 例如:HDWDataDir = HTGetLogDirectory(); HDWDBDir 消息型intouch标记名字典的目录的路径名,可用函数赋值。 例如:HDWDBDir = InfoInTouchAppDir(); HDWStratDate 消息型与$DataString 相同格式的数据采样开始日期。 例如: HDWStartTime 消息型使用24小时时钟的HH:MM:SS 格式的数据采样开始时间 例如:09:45:33 HDWDuration 消息型数据时间长度(报表时间总长度) 可以用星期,天,时,分,秒,等来表示。下面是有效的 字符:W 星期,D 天,H 小时;M 分,S 秒。允许使用 小数值例如:表示500毫秒;若只需要一个样本,请将Duration 设为零。 HDWInterval 消息型采样间隔的时间长度 可以用星期,日,小时,分,秒来表示例如1W 表示一 星期。允许使用小数值例如:.25d 来表示6小时。有效字 符与HDWDuration相同;注意Duration 和Interval允许的最打

时间长度为6周,这适用于所有请求类型日,秒,等。例如如 果使用日则最大值为42, 7天*6周=42天。 HDWTags 消息型历史数据的标记名列表(报表中需要的标记名) 以taga,tagb;tagz格式输入,此外采样日期或时间可以通过使用 内部系统标记$Date和$Time来请求。 HDWFileName 消息型规定生成的.CSV文件的路径和名称。 例如:E:\111\ HDWWriteFile 整形当设置为1时,HistData 会将请求数据写入由FileName项目 名指定的文件,当文件更新完成后WriteFile 会自动重置为0 Status 离散型显示最后一次操作的状态 1 表示成功,0 表示出错 Error 消息型包含上次错误说明的字符串,如Status 为1 则表示无,如Status 为0 则表示错误消息字符串。 例如:下面脚本生成一个日期由StartData1规定,但包含两个标记名PI-101;TI-101,日报表。可以复制在脚本中,修改一下就可以形成所需的.CSV文件。 HDWStartDate=StartDate1; HDWStartTime=”00:00:00”; HDWDBDir=InfoIntouchAppDir(); HDWDataDir=HTGetLogDirectory(); HDWFilename=” E:\111\”; HDWTags=”$Date,$Time, PI-101,TI-101”; HDWInterval=”1H”; HDWDuration=”1D”; HDWWritefile=1; 例如:设计一个按钮,当按下按钮时,生成一个.CSV表格。生成表格的起始日期,和起始时间可调,表格时间间隔也可调。 新建内存型标签,标签数据类型为消息型:startdate 消息型;starttime 消息型

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的随机数函数

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中的使用

Intouch报表-EXCEL报表制作教程

用EXCEL打印报表 1.原理 首先根据报表要求,用INTOUCH的附件HISTDATA软件形成一个有规定数据的.CSV 文件(逗号分隔文件,可用EXCEL打开)。这个.CSV文件是英文的,不符合一般报表的要求,只能提供数据。所以需要另设计一个空的EXCEL报表模版,再将.CSV文件的数据复制到报表中,形成完整的报表。 通过INTOUCH可以自动产生.CSV,再通过EXCEL的宏程序打印报表,可以完成招呼打印和定时自动打印。 如果有多个报表,需要形成多个.CSV文件和设计多个EXCEL报表。 大致步骤如下:

2.生成.CSV文件 Step1: 自动生成需要的标记名 在INTOUCH开发环境中,将向导库中\趋势\历史趋势向导(HistData)放入窗口。这将自动形成若干标记名(Tag)。有关标记名以HDW开头加上它们的DDE的ITEM命名。 这些标记名说明如下: HDWDATADIR 消息型历史数据文件的目录的路径名,可用函数赋值 例如HDWDataDir = HTGetLogDirectory(); HDWDBDIR 消息型InTouch 标记名字典的目录的路径名,可用函数赋值 例如HDWDBDir = InfoInTouchAppDir(); HDWSTARTDATE 消息型与$DateString相同格式的数据采样开始日期HDWSTARTTIME 消息型使用24 小时时钟的HH:MM:SS 格式的数据采样开始时间HDWDURATION 消息型数据时间长度(报表时间总长度) 可以用星期,天时,分,秒,等来表示下面是有效的字 符:w 星期,d 天,h 小时,m 分,s 秒。允许使用 小数值例如扩.5s 表示500 毫秒若只需一个样本请 将DURATION 设为0 零 HDWINTERVAL 消息型采样间隔的时间长度 可以用星期日小时分和秒来表示例如1W 表示一星期 允许使用小数值例如用.25d 来表示6小时 有效字符与HDDURATION相同 注意DURATION 和INTERVAL 允许的最大时间长 度均为6 周这适用于所有请求类型日秒等例如如果 使用日则最大值为42,7 天x 6 周= 42

Excel如何设置自动生成分页报表

Excel如何设置自动生成分页报表 篇一:exceL表格分页技巧 经常在excel中制作表格时,我们不可能仅仅只作一个表格,有时可能会在一个工作簿中制作多个表格。但我们又希望将所有的表格分别打印到每一张纸上面,每张纸上面只打印一个表格,那么,我们应该如何实现呢?有许多朋友都是重建新工作簿,再将表格一个一个的剪切到新工作簿中,每个工作簿里面放一个表格,最后再一个个的打印出来。虽说这种方法可以实现,但是操作比较繁琐。其实有更好更简单的方法,利用excel中的分页功能,在一个工作簿中打印出多个表格,每张纸上面打印一个表格。 excel中如何设置手动分页打印 现在工作簿中有4个表格,我希望每张纸上面打印一个表格,分别用4张纸打印出来。 ①进入视图选项卡,单击工作簿视图选项组中的分页预览; ②上图分页预览中只有2页,分别是第1页和第2页。我们将光标移动右下角边框处,当鼠标变成双箭头时,按住左键不放,拖动边框,直到看见第3页和第4页的时候就放开鼠标;(如下图) ③现在excel就可以打印4个页面出来了,但我们还需要将上面两个表格剪切到下面来才行,剪切完成如下图: 好了,现在分页已经完成了,打印工作簿的话,会打印4张纸,每张

纸上面一个表格,下面再来说说如何自动分页打印! excel中自动分页页面设置 纵向/横向设置:单击页面布局选项卡,单击页边距,选中最下面的自定义边距,在弹出的页面设置中可以选中纵向或横向; 分页的页边距设置:然后进入页边距设置上、下、左、右的边距大小; 所以页面的页眉页脚设置:你也可以自定义页任意设置眉和页脚。excel中快速插入分页符和删除分页符 先将光标定位到需要加分页的位置,然后单击页面布局选项卡中的分隔符,选中插入分 页符或者删除分页符。如果想重新设置所以的分页效果,可以选中重设所有分页符。 篇二:如何设置电子表格分页相同的标题行 如何设置电子表格分页相同的标题行 20XX-07-0209:49:49|分类:|标签:|字号大中小订阅要想电子表格每而显示和第一页相同的标题,用以下方法: 页面设置——工作表——顶端标题行——输入第一页标题行的代码。如A2:D2如果是两行标题:用(A1:D1):(A2:D2)格式。 注意中间用冒号。 篇三:excel小计自动分页打印的方法 excel小计自动分页打印的方法 在使用excel处理数据的时候,我们常常遇到小计的问题;即:间断性的对部分数据进行合计;

用excel自动生成《国资委企业财务决算报表》数据

用excel自动生成《国资委企业财务决算报表》数据 《国资委企业财务决算报表》系统,一下简称《系统》,表格较多,填报工作量大,相关表之间又存在勾稽关系,在实际填报时即麻烦又容易出错,现在我介绍一种简便填报方法,能够达到既快又准的效果,极大程度提高了工作效率。 一、导出Excel报表 《系统》,提供了报表数据于Excel的连接,可直接将已有的报表数据导入到Excel中,生成Excel表格。其格式和《系统》内报表完全相同。 为了方便操作,我尽量详细说明,并附《系统》相同图示。 1、启动《系统》(如图1)

图1 2、单击“传送”菜单下的“导出到Excel”子菜单,出现如下窗口(如图2)

图2 3、在弹出的窗口中选择要导出数据的单位,单击“确定”按钮;出现如下窗口(如图3)

图3 4在弹出的窗口中单击按钮,选择导出Excel文件的保存路径; 5、选择要导出Excel的报表(点全选),单击“确定”按钮即可。 到此《系统》内部报表已完整成功导出来了。为了方便叙述,我们导出的国资委excel报表定名称为《国资委excel表》。 二、数据采集

1、首先导出一个年度《科目发生额及余额表》 成功导出《国资委excel报表》才算顺利完成了第一步,接下来就是数据的采集问题,既如何快速完成数据的录入工作。 此方法技术含量较低,不使用连接数据库技术,一般人员都能够掌握,如果你现在使用了财务软件,那更方便数据的采集了。 打开财务软件导出一个年度《科目发生额及余额表》,设定会计科目为二级,导出格式为excel,(具体方法不在赘述) 把年度《科目发生额及余额表》插入到《国资委excel报表》工作簿中,成为《国资委excel报表》中的一个工作表。把《科目发生额及余额表》命名为“基本数据”。

用ExcelVBA方法实现报表自动生成

本文由geosouth贡献 pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 第 25 卷第 1 期 2009 年 1 月 电力科学与工程 Electric Power Science and Engineering Vol.25, No.1 Jan., 2009 73 用 Excel VBA 方法实现报表自动生成 王靖 1,王林 1,周金文 2 (1. 中国石油华北石化公司机动设备处,河北任丘 062552;2. 中国石油华北油田公司,河北任丘 062552) 摘要:针对实时报表应用中的一些不足,介绍了如何利用 Excel VBA 来实现 InTouch 组态界面下报表的自动生成.该方法不破坏 InTouch 的安全性设置,不引入第三方软件,不需要操作人员人工干预. 关键词:VBA;录制宏函数;自动报表生成中图分类号:TP319 文献标识码:A 据库中的项目用于指定起始周期, 持续时间及采样 0 引言间隔等,以便访问历史数据.HistData 实用程序采用"动态数据交换" DDE(Dynamic Data Ex众所周知, 实时报表的编写方法虽然众多, 但 change) 技术访问 InTouch 创建的历史数据文件. 是程序步骤相当繁琐, 报表功能也受到很多限制. 它可以将所选的历史数据移入提出请求的程序, 如一些现成的水晶报表灵活性不够, 根本无法满足数 Microsoft Excel,并生成一个扩展名为 CSV 的文据报表的多种需求. 特别是组态时, 考虑到组态软件.该文件可以用 Excel 打开. 件浏览器的安全性设置, 只能让操作人员操作监控历史数据的访问可通过在提出请求的程序中使画面,而不能进入 WINDOWS 界面.第三方报表用宏函数或直接在 InTouch 中实现,并且需要定软件的引入势必牵涉到操作系统对该软件的激活, 义与 HistData 程序相关的各个项目.在 InTouch 这与浏览器的安全性设置相矛盾. 鉴于此, 本文提中编写条件脚本程序,让 InTouch 在既定的时刻出用 Excel VBA 来实现 InTouch 组态界面下报表 (如上午9:15)将电力监控系统 6 kV 运行日志需自动生成的方法. 要统计的 24 个整点时刻的数据写入 CSV 文件. 第 2 步,从已经生成的 CSV 文件中读取数据 1 自动生成方法的实现放入报表文件中 (利用 EXCEL 中的 VBA 编程) . 导入 CSV 文件,利用 VBA 录制宏函数,将报表实现过程中, 利用了常规办公软件 Office Excel 中的内嵌工具 Visual Basic 编辑器(Excel 菜单下工具——宏——Visual Basic 编辑器) ,程序非常简单. 此方法不用制作操作界面, 不需值班员的干预, 自动生成报文并交付打印机打印; 报表生成时不破坏InTouch 的安全性设置.此方法共分 4 个步骤. 第 1 步,利用 InTouch HistData 与Intouch 条件脚本生成 CSV 文件. InTouch HistData 是工控组态软件 InTouch 的一个控件, 程序包含自己的内部数据库. 内部数工作表有效区域的单元格中的数据填入既定的 EXCEL 工作表中(例如:1 号开闭所报表自动打印 . xls) ,生成报表表格的格式在该工作表中已设定好. 号开闭所报表自动打印 .xls" VBA Project "1 : 中结合录制宏函数生成程序模块 kbs1, 具体如下. '录制昨天 9 点至今天 8 点的整点报表 Workbooks. Open Filename: ="E: \ 报表. CSV" '在 Excel 中打开 Intouch 生成的 CSV 文件 Range ( "C2: AC25 " ) . Select '选定范围为需要录制的数据 收稿日期:2008 08 22. 作者简介:王靖 (1974 -), 男, 中国石油华北石化公司机动设备处工程师. 74 电 力 科

用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中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 ≤=

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的随机数值:

相关文档
最新文档