乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > excel身份证号码格式-身份证号、手机号批量加星号脱敏,excel几分钟搞定

excel身份证号码格式-身份证号、手机号批量加星号脱敏,excel几分钟搞定

作者:乔山办公网日期:

返回目录:excel表格制作

今天领导交给一个表格,大概10万人的客户信息,需要在某网站进行公示。表格里有证件号码和联系方式两列,需要进行脱敏处理,经过几分钟的研究,成功搞定,下面将过程描述一下。






为了演示,我们使用python的faker库,生成100条测试数据,代码如下:


from faker import Fakerimport xlwt# 创建一个workbook 设置编码workbook = xlwt.Workbook(encoding = 'utf-8')# 创建一个worksheetworksheet = workbook.add_sheet('My Worksheet')fk = Faker(locale='zh_CN')#写入文件表头worksheet.write(0,0,"姓名")worksheet.write(0,1,"身份证")worksheet.write(0,2,"手机号")for i in range(1,100): # 写入excel,参数对应 行, 列, 值 worksheet.write(i, 0, fk.name()) worksheet.write(i, 1, fk.ssn()) worksheet.write(i, 2, fk.phone_number())#保存到d盘,test目录下,文件名为Excel_test.xlsworkbook.save('i://姓名.xls')print("写入完成")

具体faker的使用,可以参照前文。


请注意,faker生成的姓名、身份证号、手机号完全是随机生成的,仅用于测试使用,如有雷同,纯属巧合。


为了防止雷同,我把身份证号和手机号的最后四位全都换成了1111。最终的数据就像下图这样。




需求

上传到公网的信息,因为涉及个人隐私,所以不能带身份证号和手机号,处理的方法就是将其中的几位数字替换成*号。


难点

身份证号可以使用replace,mid,right,left等公式进行脱敏处理,非常简单。


手机号这一列,有的是11位的手机号码,有的是7位的座机号,还有空白,这一块处理起来比较麻烦。但是excel里面有个公式ifs就是专门解决这种多条件判断的。




解决方案
  • 身份证号脱敏

身份证号格式都是一样的,处理起来只需要一个公式replace即可。




=REPLACE(B2,7,8,"********")


意思是将B2这一个单元格的身份证,第7位开始以后得8位数字用*号代替。


当然也可以使用mid,right,left来处理,比如


=LEFT(B3,6)&"********"&RIGHT(B3,4)


意思是从B3列取前面6位数字,然后中间加上8个星号,最后再加上B3的最后四位。


同理,mid公司也是一样的道理。


  • 手机号脱敏

手机号这里,如果全都是11位的正规手机号,那么完全可以按照身份证号脱敏的思路,使用replace、left、right、mid函数很容易就可以解决,但是现在手机号这一列分为三种情况:11位手机号,7位的座机号码,空白。我们的要求是11位手机号,中间四位变为星号,7位的座机号码,中间三位变为星号,空白的保持空白。


这里使用IFS函数,具体的逻辑如下:


如果 B2的长度为11, 那么就将中间中间四位用replace变为星号如果 B2的长度为7,那么就将中间的三位用replace变为星号如果 B2的长度为0, 那么保持不变

=IFS(LEN(C2)=11,"长度为11",LEN(C2)=7,"长度为7",LEN(C2)=0,"")

我们使用如上公式来测试一下,如果是11位的手机号,那么就显示长度为11,如果是7位的座机号,那么显示长度为7,否则显示为空,最终结果如下。




下面我们来最终实现将手机号这一列脱敏的功能。




最终的公式为


=IFS(LEN(C2)=11,REPLACE(C2,4,4,"****"),LEN(C2)=7,REPLACE(C2,3,3,"***"),LEN(C2)=0,"")

如果 LEN(C2)为11, 那么使用REPLACE(C2,4,4,"****")来将中间四位进行脱敏处理;如果LEN(C2)为7,那么使用REPLACE(C2,3,3,"***")来将中间三位进行脱敏处理;如果LEN(C2)为0,表示该单元格为空,则保持为空。


说起来难,其实做起来很容易。从接到这个任务到完成,短短的几分钟而已。都是一些非常常用的excel公式,往往一些非常简单的公式组合在一起使用,就能起到化腐朽为神奇的作用。


几分钟搞定,一个半小时之后,我把涉及十几万数据的表格发给了领导,领导夸我做的好。一是做的快,以前其他同事也做过类似的工作,我比他们稍微快了一个小时;其次是正确率高,以前同事做的,可能偶尔会有弄错的地方,而我使用了公式,保证了百分之百的正确率。


皆大欢喜。


职场中到处是坑,如果我10分钟就交给领导,那么同事就会记恨我;如果我比别的同事花的时间长,领导就会以为学计算机的我不认真干。


即使某项工作能比其他同事更快的干完,也不要立刻就去交差,而是综合考虑下别的同事的效率,比其他同事稍微快一点点就好,不然的话就坑死了,血的教训啊。


相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网