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

SQL专栏

SQL数据库基础知识汇总

SQL数据库高级知识汇总

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

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

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

如何使用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(94RAND())+160)&CHAR((INT(16+RAND()38+160)256)+INT(94RAND())+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的下拉自动生成公式的功能,我们就可以快速的获取成百上千的随机数据了。

觉得不错,欢迎分享给更多朋友。

猜你喜欢

转载自blog.51cto.com/15057820/2653385
今日推荐