今日分享 · 随机生成姓名[Excel使用]
分 类:Excel数据处理
应用场景:您觉得需要的时候。
公 式:=MID($B$2,ROUND(RAND()*LEN($B$2),0)+1,1)&MID($B$3,ROUND(RAND()*LEN($B$3),0)+1,1)&IF(RAND()>0.3,MID($B$3,ROUND(RAND()*LEN($B$3),0)+1,1),"")
函数释义:
$ 锁定选中单元格(列和行同时锁定;亦可根据实际需求只锁定其中一项),防止拖动操纵柄时自动变换所选单元格而导致数据错误;
LEN($B$2) 计算单元格中数据长度,即计算总共有多少个字;
RAND() 随机一个大于等于 0 且小于 1 的数;
RAND()*LEN($B$2) 随机一个大于等于 0 且小于 LEN($B$2) 的数;例——当 RAND() 值为“0.99”,LEN($B$2) 值为“29”时,该式值为“28.71” 。
ROUND(数值,0) 四舍五入取整;
MID($B$2,ROUND(RAND()*LEN($B$2),0)+1,1) 在 B2 单元格中的字符串,从左边数起第 n 个字符开始,截取 1 个字符,n 不为 0 (因 RAND() 值可能为 0 或小于 0.5 ,即 ROUND() 值为 0 ,故 +1);
IF(RAND()>0.3,MID($B$3,ROUND(RAND()*LEN($B$3),0)+1,1),"") 如果本次 RAND() 值大于0.3,则名字再加一个字(即姓名共 3 个字),否则留空(即姓名共 2 个字);
& 将三段式子的结果连起来。
使用步骤:
复制一些常见单字姓氏到 B2 单元格(去除空格断行等符号)
赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻柏水窦章云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳酆鲍史唐费廉岑薛雷贺倪汤滕殷罗毕郝邬安常乐于时傅皮卞齐康伍余元卜顾孟平黄和穆萧尹姚邵湛汪祁毛禹狄米贝明臧计伏成戴谈宋茅庞熊纪舒屈项祝董梁杜阮蓝闵席季麻强贾路娄危江童颜郭梅盛林刁锺徐邱骆高夏蔡田樊胡凌霍虞万支柯昝管卢莫

复制一些适合做名字的字到 B3 单元格(这些字要去除顿号等符号)
谦亨奇固之轮翰朗伯宏先柏镇淇淳一洁铭皑言若鸣朋斌梁栋维启克伦翔旭鹏泽晨辰士以建家致树炎德行时泰盛雄琛钧冠策腾楠榕风航弘瑛玲憧萍雪珍滢筠柔竹霭凝晓欢霄枫芸菲寒伊亚宜可姬舒影荔枝丽秀娟英华慧巧美静淑惠珠莹雪琳晗瑶允元源渊和函妤宜云琪勤珍贞莉兰凤洁琳素云莲真环雪荣爱妹霞亮香月媛艳瑞凡佳嘉叶璧璐娅琦晶妍茹清吉克茜秋珊莎锦黛青倩婷姣婉娴瑾颖露瑶怡婵雁蓓纨仪荷丹蓉眉君琴蕊薇菁梦岚苑婕馨瑗琰韵融园艺咏卿聪澜纯毓悦昭冰爽琬茗羽希宁欣飘育涵琴晴丽美瑶梦茜倩希夕月悦乐彤影珍依沫玉灵瑶嫣倩妍萱漩娅媛怡佩淇雨娜莹娟文芳莉雅芝文晨宇怡全子凡悦思奕依浩泓钊钧铎

在目标单元格中输入公式=MID($B$2,ROUND(RAND()*LEN($B$2),0)+1,1)&MID($B$3,ROUND(RAND()*LEN($B$3),0)+1,1)&IF(RAND()>0.3,MID($B$3,ROUND(RAND()*LEN($B$3),0)+1,1),"") 下拉即可生成随机姓名

完成!
PS. 为了防止再打开时有变动,须将结果复制,再粘贴为数值。




