先给大家看一下我生成的随机数据,如下图:
(有人肯定看到Name列怎么这么奇怪,稍后给大家解释。)
要生成随机数据,肯定需要使用到随机函数,而随机函数我们知道的有RAND()和RANDBETWEEN(),今天我们的主角就是他们哥俩了。
RAND()函数RAND()函数返回的随机数是大于等于 0 及小于 1 的均匀分布随机实数,RAND()函数每次计算工作表时都将返回一个新的随机实数。也就是每刷新一次,数据就会更新。
RANDBETWEEN()函数返回大于等于指定的最小值,小于等于指定最大值之间的一个随机整数。每次计算工作表时都将返回一个新的数值。例如:RANDBETWEEN(1,100) 返回一个介于1到100之间的随机整数。
上面两个函数都是生成随机数值的函数,它是怎么生成中文和日期的呢?下面针对每一列的测试数据,我们来看看是如何做到的。
ID列这一列没什么难度,在第2行和第3行依次输入1,2然后往下拉,就可以自动生成自增长的整数了。
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)
当然如果你需要姓存在于百家姓之中,就需要先将百家姓额外做成一个数据字典来取其中的某一个,然后再拼接名。
Age列这个列我们取一个整数范围即可,这里我们取的是20到30岁之间。具体公式如下:=RANDBETWEEN(20,30)
Sex列性别只有男和女,我们只需要随机选择一个即可,具体公式如下:=MID("男女",RANDBETWEEN(1,2),1)
Phone列手机号固定是11位,其实我们可以简单的取10000000000到99999999999即可,但是这里为了更加的接近现实,我们将公式稍作修改,具体公式如下:=1&MID("358",RANDBETWEEN(1,3),1)&RANDBETWEEN(100000000,999999999)
Createtime列取时间的思路是使用系统自带的NOW()函数,先获取一个日期格式,然后对这个日期格式进行随机的增加,就可以得出一系列的随机日期了。具体公式如下:=NOW()-RAND()-RANDBETWEEN(1,500)
只要将以上这些公式复制到对应的单元格,再利用Excel的下拉自动生成公式的功能,我们就可以快速的获取成百上千的随机数据了。
觉得不错,欢迎分享给更多朋友。