EXCLE:随机生成姓名 学历 性别 身份证 手机号,简直不要太好玩

我们在做教程时,经常用到大量个人基本信息,如果用实名和正确信息,会造成侵犯个人信息权。

为此,笔者经过筛选,用随机函数RAND随机生成姓名、学历、性别、身份证、手机号等信息,避免了侵权的问题。

一、随机生成姓名

中国人的姓名多由2~3位构成(复姓可能为4位),首先,我们要把从网上抄来的2~3位姓名拆分为单字。如下图:

EXCLE:随机生成姓名 学历 性别 身份证 手机号,简直不要太好玩

图1

姓:在F2单元格输入函数:=LEFT(E2,1),表示截取姓名中的第一个字。

名1:在G2单元格输入函数:

=IF(LEN(E2)=2,RIGHT(E2,1),MID(E2,2,1))

以上函数用IF函数进行判断,先用LEN()判断计算姓名字数,如果是两个字,则用RIGHT(E2,1)显示最右边的名;如果是3个字,用MID(E2,2,1)从姓名单元格第二位取名当中的第一个字。

名2:在H2单元格输入函数:

=IF(LEN(E2)=2,””,MID(E2,3,1))

以上函数用IF函数进行判断,先用LEN()判断计算姓名字数,如果是两个字,则用””表示空;如果是3个字,用MID(E2,3,1)从姓名单元格第三位取姓名当中的第三个字,也可用RIGHT(E2,1)取最右边的一个字。

用三列辅助列随机取数,分别对应姓氏和两个名,函数很简单,分别在三个单元格输入:=RAND(),然后复制公式到所需行。

EXCLE:随机生成姓名 学历 性别 身份证 手机号,简直不要太好玩

图2

随机数和姓名处理清楚后,需要随机生成姓名并合并,操作方法如下图:

EXCLE:随机生成姓名 学历 性别 身份证 手机号,简直不要太好玩

图3

在K3单元格输入函数:

=IFERROR(INDEX(F$2:F$471,RANK(A2,A:A)),””)

此处用INDEX+RANK函数组合,先用RANK(A2,A:A)计算A2的数值在A列中的排名,然后用INDEX(F$2:F$471,把F$2:F$471中该排名数字所在的行结果进行调用,即可得到随机姓。

IFERROR函数表示查找的内容为错误值时进行屏蔽。

两个随机名的操作方法是一样的,只需要计算B列和C列中随机数的排名行即可。

L列函数:

=IFERROR(INDEX(G$2:G$471,RANK(B2,B:B)),””)

M列函数:

=IFERROR(INDEX(H$2:H$471,RANK(C2,C:C)),””)

在N2单元格输入函数:=K2&L2&M2,把随机生成的姓和名连接起来,由此得到随机生成的姓名组合。

对照图3看就一目了然,每按一次F9就随机生成一次。

二、随机生成学历和性别

EXCLE:随机生成姓名 学历 性别 身份证 手机号,简直不要太好玩

图4

如上图,在需要生成学历的第一个单元格输入函数:

=VLOOKUP(INT(RAND()*8)+1,{1,”博士”;2,”硕士”;3,”本科”;4,”大专”;5,”高中或中专”;6,”初中”;7,”小学”;8,”文盲或半文盲”},2,)

公式解析:

(RAND()*8)+1表示随机生成1~8之间的数字,用INT取整数,取{1,”博士”;2,”硕士”;3,”本科”…}中数字对应的值。2表示如果随机数取整后不在1~8范围,则取第二个,也就是VLOOKUP函数中的第二列。

随机生成性别的方法同上,函数为:

=VLOOKUP(INT(RAND()*2)+1,{1,”男”;2,”女”},2,)

当然还有其他方法可以随机生成。如:

=CHOOSE(RANDBETWEEN(1,2),”男”,”女”)

三、随机生成身份证号码

EXCLE:随机生成姓名 学历 性别 身份证 手机号,简直不要太好玩

图5

这里的出生日期和区域代码要手动输入,可以在网上搜索,区域代码我前几天讲过,这里为了演示,图中数据是随意复制的数据。

在需要生成身份证的单元格输入函数:

=U2&TEXT(T2,”yyyymmdd”)&TEXT(RAND()*10^3,”0000″)

TEXT(T2,”yyyymmdd”)表示将日期转换为如19920215.

TEXT(RAND()*10^3,”0000″)表示取RAND()*10^3随机生成的4位数。

四、随机生成手机号

EXCLE:随机生成姓名 学历 性别 身份证 手机号,简直不要太好玩

图6

我们先随机生成网段如131 133 135等,再随机生成8位数,然后把网段和随机的8位数连接起来就得到随机手机号码。

网段生成函数:

=CHOOSE(RANDBETWEEN(1,14),131,135,136,137,138,139,151,152,153,157,159,180,181,183)

RANDBETWEEN(1,14)表示随机生成1~14中的随意数,再用CHOOSE嵌套,当函数RANDBETWEEN(1,14)出现1的时候,函数就变为:CHOOSE(131,135,136……),最终结果就是131。

网段生成8位数:

=RANDBETWEEN(10000000,99999999)

表示随机生成10000000到99999999

怎么样,是不是很简单,再也不要担心侵权了!

当然圈内高手如云,我的方法不值得一提,希望高手多多指教。

版权声明:本站发布此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,请读者仅作参考,并请自行核实相关内容。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

(0)
染墨绘君衣染墨绘君衣
上一篇 2023-09-11 02:03
下一篇 2023-09-11 02:16

相关推荐