分享

如何使用Excel快速生成随机数据,你肯定想不到

 吴敬锐 2019-10-31

做数据分析的同学,可能经常会遇到造数据的问题。一个个手工造那可真是累死人了,去网上找又不一定能找到合适的。

今天教大家如何快速生成随机测试数据。

先给大家看一下我生成的随机数据,如下图:

如何使用Excel快速生成随机数据,你肯定想不到

(有人肯定看到Name列怎么这么奇怪,稍后给大家解释。)

要生成随机数据,肯定需要使用到随机函数,而随机函数我们知道的有RAND()和RANDBETWEEN(),今天我们的主角就是他们哥俩了。

RAND()函数

RAND()函数返回的随机数是大于等于 0 及小于 1 的均匀分布随机实数,RAND()函数每次计算工作表时都将返回一个新的随机实数。也就是每刷新一次,数据就会更新。

RANDBETWEEN()函数

返回大于等于指定的最小值,小于等于指定最大值之间的一个随机整数。每次计算工作表时都将返回一个新的数值。

例如:

RANDBETWEEN(1,100) 返回一个介于1到100之间的随机整数。

上面两个函数都是生成随机数值的函数,它是怎么生成中文和日期的呢?下面针对每一列的测试数据,我们来看看是如何做到的。

ID列

这一列没什么难度,在第2行和第3行依次输入1,2然后往下拉,就可以自动生成自增长的整数了。

如何使用Excel快速生成随机数据,你肯定想不到

Name列

首先我们需要知道字符其实是数字代码存在系统中的,这里我们就是要计算出中文在系统中的一个数字范围,知道这个数字范围后,我们将这个数字再转换成字符类型,就是我们的中文了。

以下是中文字符的完整公式:

=CHAR((INT(16+RAND()*38+160)*256)+INT(94*RAND())+160)

上面的公式会返回一个随机的中文字符,而我们的Name列则是将上面的这个公式拼接了3次,所以返回的字符是3个。

具体公式如下:

=CHAR((INT(16+RAND()*38+160)*256)+INT(94*RAND())+160)&CHAR((INT(16+RAND()*38+160)*256)+INT(94*RAND())+160)&CHAR((INT(16+RAND()*38+160)*256)+INT(94*RAND())+160)

如何使用Excel快速生成随机数据,你肯定想不到

当然如果你需要姓存在于百家姓之中,就需要先将百家姓额外做成一个数据字典来取其中的某一个,然后再拼接名。

Age列

这个列我们取一个整数范围即可,这里我们取的是20到30岁之间。

具体公式如下:

=RANDBETWEEN(20,30)

如何使用Excel快速生成随机数据,你肯定想不到

Sex列

性别只有男和女,我们只需要随机选择一个即可,

具体公式如下:

=MID('男女',RANDBETWEEN(1,2),1)

如何使用Excel快速生成随机数据,你肯定想不到

Phone列

手机号固定是11位,其实我们可以简单的取10000000000到99999999999即可,但是这里为了更加的接近现实,我们将公式稍作修改,

具体公式如下:

=1&MID('358',RANDBETWEEN(1,3),1)&RANDBETWEEN(100000000,999999999)

如何使用Excel快速生成随机数据,你肯定想不到

Createtime列

取时间的思路是使用系统自带的NOW()函数,先获取一个日期格式,然后对这个日期格式进行随机的增加,就可以得出一系列的随机日期了。

具体公式如下:

=NOW()-RAND()-RANDBETWEEN(1,500)

如何使用Excel快速生成随机数据,你肯定想不到

只要将以上这些公式复制到对应的单元格,再利用Excel的下拉自动生成公式的功能,我们就可以快速的获取成百上千的随机数据了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多