excel中如何产生随机数

excel中如何产生随机数,第1张

1、首先介绍一下如何用RAND()函数来生成随机数(同时返回多个值时是不重复的)。

如下图所示,在单元格中输入=RAND(),回车后单元格即返回了一个随机数字。

2、RAND()函数返回的随机数字的范围是大于0小于1。因此,也可以用它做基础来生成给定范围内的随机数字。

3、生成制定范围的随机数方法是这样的,假设给定数字范围最小是A,最大是B,公式是:

=A+RAND()*(B-A)。

举例来说,要生成大于60小于100的随机数字,因为(100-60)*RAND()返回结果是0到40之间,加上范围的下限60就返回了60到100之间的数字。

4、上面RAND()函数返回的0到1之间的随机小数,如果要生成随机整数的话就需要用RANDBETWEEN()函数了,如下图该函数生成大于等于1小于等于100的随机整数。

这个函数的语法是这样的:=RANDBETWEEN(范围下限整数,范围上限整数),结果返回包含上下限在内的整数。注意:上限和下限也可以不是整数,并且可以是负数。

5、RAND()和RANDBETWEEN()是生成随机数的基础函数,也可以灵活变通。比如说要生成0.01至1之间包含两位小数的随机数,则可用下图的公式实现:

首先,需要在excel中添加加载项--数据分析库,然后就可以进行数据自动生成了,以专业的术语叫做“随机数发生器”。依次点击:excel选项-加载项-转到,进行分析工具库的添加工作。

分析工具库添加完成之后,在excel的“数据”选项卡上,最右侧会多出一个“分析”的菜单栏,点击“数据分析”。

选择“数据分析”下的“随机数发生器”。

d出的界面上,为随机数发生器的参数设置界面。其中,变量个数=生成数据列数、随机数个数=生成数据行数,比如,设置:变量个数=5、随机数个数=10,那么,就会生成一个5列、10行的数据。

接下来,选择随机数据的分布类型,以“正态分布”为例,设定:平均值=50、标准差=5。

选定数据的输出位置,可以选定区域、新建工作表、新建工作簿,本例中以选定区域为例来说情况,如下图,选择将数据输出到:a1:e10区域中。

数据输出成功,如下图所示。

1、创建数据库表

在创建数据库的时候,主键的主键的生成方式通常有两种,一种是利用数据库的主键自增,产生主键,这也是常用的主键的生成方式。另一种为通过生成的随机序列当做主键。通过excel导入数据库时,excel的数据中包含随机序列时,可以直接将数据导入数据库,当做主键使用。但是如果没有的话,处理则相对比较麻烦(本博客介绍不包含随机数列的情况)。

没有随机数列时,为了能够将excel中的数据导入数据库中,创建数据库表时,暂时将主键去掉,只保留主键字段。在此,我们创建test表,主键id并未标记。

CREATE TABLE `test` (

`ID` varchar(50) DEFAULT NULL COMMENT '测试id',

`NAME` varchar(100) DEFAULT NULL COMMENT '名称',

`CREATE_TIME` datetime DEFAULT NULL COMMENT '创建时间',

`UPDATE_TIME` datetime DEFAULT NULL COMMENT '更新时间'

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='测试表'

2、将excel数据导入数据库表test中

注意:先用excel打开excel表格,否则会提示无法打开excel文件

右键test->导入向导->Excel文件(2007或以上版本)(*.xlsx)->导入->下一步->下一步

在对应的“源栏位”处选择excel中对应的内容,然后依次点击下一步->下一步->开始,完成excel中数据导入数据库表中。

3、在id中生成uuid

UPDATE test SET ID= UUID()

注意,生成id时,不要直接将uuid()产生的序列中的''-"通过Replace方法去掉,不然生成的id的将全部相同。

4、将生成的id中的"-"替换掉

UPDATE test SET ID = (SELECT REPLACE(ID,'-',''))

5、生成时间

UPDATE test SET UPDATE_TIME = CURRENT_TIMESTAMP()

6、生成标准化的数据库

首先,将已经导入到test表中的数据通过sql转储,进行保存。然后将test表删除,然后建立标准的数据库test表(比如主键为id,创建时间为非空等),最后将sql转储的数据导入的数据库表中,完成数据的导入。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10006127.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存