声明:原文首发于个人微信公众号:cxd1301,转载请注明
在做原型的时候,肯定大部分人都是用张三、李四、王五这样的名字,但作为追求高保真原型的强迫症患者们,这个肯定不符合处女座要求。那如果要名字看着逼真,一个个造显然很费劲,有没有办法随机生成呢。今天分享一下用Excel生成随机姓名的方法。
第一步:姓名原始样本
在网上随便找一份一千个姓名的名单作为原始样本,至于去哪里找,可以是百家姓、常用姓名清单什么的去百度。
第二步:把姓名拆解
把获取到的样本进行拆解,拆解成第一个字:姓,第二个字:中间名,第三个字:尾名。比如张三丰,拆解成:张、三、丰。
姓:=left(h2,1),尾字:=right(h2,1)
关键是中间字的获取:=IF(LEN(H2)>2,MID(H2,2,1)," ")考虑到不同姓氏和常用名字的出现频次不同,不要做去重,分解出来姓和名后,不要做去重。
第三步:随机取姓名
先通过随机数函数randbetween函数,从姓所在列和名所在列随机取数。然后用indirect函数取出随机数对应位置的值。
(1)从所有的姓中随机取一个字作为姓:D1单元格: =INDIRECT("A"&RANDBETWEEN(1,1355))
(2)从所有的中间名中随机取一个字作为中间名:E1单元格: =INDIRECT("B"&RANDBETWEEN(1,1355))
(3)从所有的尾名中随机取一个字作为尾名:F1单元格:=INDIRECT("C"&RANDBETWEEN(1,1355))
(4)把姓、中间名、尾名拼接:G1单元格:=D1&E1&F1
第四步:是否指定姓
第三步就已经实现了随机姓名了,效果看着还行。但如果用来取名的话呢,总要考虑指定姓的情况。通过增加一个是否指定姓氏来判定即可。例如在J6单元格做一个下拉控制,只能选择是,或者否。如果选择了"是",姓氏就取J7单元格中指定的姓,否则就随机取。=IF(J6="是",J7,INDIRECT("A"&RANDBETWEEN(1,1355)))
第五步:做展示样式
稍微做个排版,如果要弄得更好看,还可以利用Excel的开发工具做按钮样式。
第六步:最后实现效果