tft每日頭條

 > 科技

 > excle身份證分性别

excle身份證分性别

科技 更新时间:2024-12-17 19:02:41

我們在做教程時,經常用到大量個人基本信息,如果用實名和正确信息,會造成侵犯個人信息權。

為此,筆者經過篩選,用随機函數RAND随機生成姓名、學曆、性别、身份證、手機号等信息,避免了侵權的問題。

一、随機生成姓名

中國人的姓名多由2~3位構成(複姓可能為4位),首先,我們要把從網上抄來的2~3位姓名拆分為單字。如下圖:

excle身份證分性别(EXCLE随機生成姓名學曆)1

圖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身份證分性别(EXCLE随機生成姓名學曆)2

圖2

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

excle身份證分性别(EXCLE随機生成姓名學曆)3

圖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身份證分性别(EXCLE随機生成姓名學曆)4

圖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身份證分性别(EXCLE随機生成姓名學曆)5

圖5

這裡的出生日期和區域代碼要手動輸入,可以在網上搜索,區域代碼我前幾天講過,這裡為了演示,圖中數據是随意複制的數據。

在需要生成身份證的單元格輸入函數:

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

TEXT(T2,"yyyymmdd")表示将日期轉換為如19920215.

TEXT(RAND()*10^3,"0000")表示取RAND()*10^3随機生成的4位數。

四、随機生成手機号

excle身份證分性别(EXCLE随機生成姓名學曆)6

圖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

怎麼樣,是不是很簡單,再也不要擔心侵權了!

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

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved