我們在做教程時,經常用到大量個人基本信息,如果用實名和正確信息,會造成侵犯個人信息權。
為此,筆者經過篩選,用隨機函數RAND隨機生成姓名、學歷、性別、身份證、手機號等信息,避免了侵權的問題。
一、隨機生成姓名
中國人的姓名多由2~3位構成(複姓可能為4位),首先,我們要把從網上抄來的2~3位姓名拆分為單字。如下圖:

圖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(),然後複製公式到所需行。

圖2
隨機數和姓名處理清楚後,需要隨機生成姓名併合並,操作方法如下圖:

圖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就隨機生成一次。
二、隨機生成學歷和性別

圖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),”男”,”女”)
三、隨機生成身份證號碼

圖5
這裡的出生日期和區域代碼要手動輸入,可以在網上搜索,區域代碼我前幾天講過,這裡為了演示,圖中數據是隨意複製的數據。
在需要生成身份證的單元格輸入函數:
=U2&TEXT(T2,”yyyymmdd”)&TEXT(RAND()*10^3,”0000″)
TEXT(T2,”yyyymmdd”)表示將日期轉換為如19920215.
TEXT(RAND()*10^3,”0000″)表示取RAND()*10^3隨機生成的4位數。
四、隨機生成手機號

圖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
怎麼樣,是不是很簡單,再也不要擔心侵權了!
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/216734.html
微信掃一掃
支付寶掃一掃