网站首页 > 技术文章 正文
统计信息是一个特别烦人的事情,尤其遇到这种没有格式的身份证号或者手机号时更是麻烦无比,再加上对个人信息安全的重视,还要隐藏几位数字让大家安心,做个统计工作怎么这么难呢?其实大可不必这么烦恼,用Word+Excel 5分钟就可以搞定这一切。
首先打开一个Word,将姓名身份证信息复制到其中(上图为了保护隐私,涂抹了部分身份证号码),然后按下Ctrl+H弹出“查找和替换”对话框,“查找内容”处输入[0-9X]{1,},“替换为”处输入^t^&^p,点击“更多”并勾选“使用通配符”,最后点击“全部替换”。这时,所有数据都以Tab进行区隔,并实现了名字对应身份证号的格式。
这里特别解释一下,[0-9X]的意思是任意数字和字母X,{1,}表示一个字符以上的字符串,意思是查找任意数字和字母X组成的一个字符以上的字符串,也就对用我们的身份证号码,然后替换处的^t为制表符,^& 表示查找的字符,^p是换行符,意思是身份证号码前面加上制表符和姓名分开,后面加上换行符,使每组姓名和身份证单独一行。如果你是对名字和手机号操作,根据这个格式灵活调整就可以了。
接下来新建一个Excel表格,选中任意两列并在开始选项卡内点击下图的下拉菜单(默认为常规,很容易找到),选择“文本”。然后回到Word并按下Ctrl+A全选内容并按下Ctrl+C复制,回到Excel表格,在圈选的两列下点击右键粘贴,选择“匹配目标格式”即可。注意,如果没有先在Excel里选中默认格式为“文本”,就会出现下图中“6.1E+17”这样的数学格式。
好了,身份证号也有规则的与名字对应复制到表格内了,但是身份证号明晃晃的就展示在屏幕上,对个人信息安全的保护并不到位,我们能不能隐藏其中几位呢?
在身份证号码的后面一列点击空格,在公式处输入=REPLACE(B1,LEN(B1)-5,4,"****")并回车看看,是不是后面有几位被隐藏起来了?善用好这个函数公式,手机号码也可以部分隐藏哦,小编就不讲解那么细了,自己试试看~。
不知道大家注意到没有,其实我们这个表格里有一个身份证号码是错误的,数量少还好说,一眼就能看到,但是如果太多了,那怎么才能通过Excel自动判断出来究竟哪个身份证号码有错误呢?在刚刚隐藏身份证那列和身份证号列中间插入一个新的列,然后输入一个超~~~~~~~~长公式(老规矩,登录微信PC版本,点击查看历史消息找到本文复制哦),身份证号只要输错一位、少输一位,就可以通过这个公式判断出来了。
=IF(LEN(B1)=18,IF(RIGHT(B1,1)="X",IF(CHOOSE(MOD(SUM(LEFT(RIGHT(B1,18))*7
+LEFT(RIGHT(B1,17))*9+LEFT(RIGHT(B1,16))*10+LEFT(RIGHT(B1,15))*5
+LEFT(RIGHT(B1,14))*8+LEFT(RIGHT(B1,13))*4+LEFT(RIGHT(B1,12))*2
+LEFT(RIGHT(B1,11))*1+LEFT(RIGHT(B1,10))*6+LEFT(RIGHT(B1,9))*3
+LEFT(RIGHT(B1,8))*7+LEFT(RIGHT(B1,7))*9+LEFT(RIGHT(B1,6))*10
+LEFT(RIGHT(B1,5))*5+LEFT(RIGHT(B1,4))*8+LEFT(RIGHT(B1,3))*4
+LEFT(RIGHT(B1,2))*2),11)+1,1,0,"X",9,8,7,6,5,4,3,2)
=LEFT(RIGHT(B1,1)),"正确!","出错啦!"),
IF(CHOOSE(MOD(SUM(LEFT(RIGHT(B1,18))*7+LEFT(RIGHT(B1,17))*9
+LEFT(RIGHT(B1,16))*10+LEFT(RIGHT(B1,15))*5+LEFT(RIGHT(B1,14))*8
+LEFT(RIGHT(B1,13))*4+LEFT(RIGHT(B1,12))*2+LEFT(RIGHT(B1,11))*1
+LEFT(RIGHT(B1,10))*6+LEFT(RIGHT(B1,9))*3+LEFT(RIGHT(B1,8))*7
+LEFT(RIGHT(B1,7))*9+LEFT(RIGHT(B1,6))*10+LEFT(RIGHT(B1,5))*5
+LEFT(RIGHT(B1,4))*8+LEFT(RIGHT(B1,3))*4+LEFT(RIGHT(B1,2))*2),11)
+1,1,0,"X",9,8,7,6,5,4,3,2)=LEFT(RIGHT(B1,1))*1,"正确!","出错啦!")),
IF(LEN(B1)=15,"老号,请注意!",
IF(LEN(B1)=0,"缺号码","位数不对!")))
通过这一系列组合拳,不仅解决了录入繁琐的问题,还能充分保障个人信息安全,并且还具备校验功能,怎么样,你还不快试试?顺便提一句,本文中的公式稍加改造,就可以适用于手机号码哦!
- 上一篇: 手把手教你的Vue项目实战
- 下一篇: char字符总结
猜你喜欢
- 2025-01-11 C语言变量和常量
- 2025-01-11 文档段落异常怎么办?
- 2025-01-11 wxPython - 给菜单添加图标和快捷键
- 2025-01-11 使用 Python 开发一个 Python 解释器
- 2025-01-11 Linux系统中最常用的文本显示工具:cat命令
- 2025-01-11 Word中如何快速对齐ABCD选项?
- 2025-01-11 编写一个自动生成双色球号码的 Python 小脚本
- 2025-01-11 Python-九九乘法表
- 2025-01-11 关于Java正则和转义中\\和\\\\的理解
- 2025-01-11 干货丨零基础如何学习 R 语言?
- 最近发表
-
- 如何在 Linux 上安装 Java_怎么在linux中安装jdk
- Linux中tar命令打包路径相关问题_linux怎么用tar打包一个目录
- 常用linux系统常用扫描命令汇总_常用linux系统常用扫描命令汇总表
- VM下linux虚拟机新建过程(有图)_linux虚拟机创建新用户命令
- 系统小技巧:迁移通过Wubi方式安装的Ubuntu系统
- 文件系统(八):Linux JFFS2文件系统工作原理、优势与局限
- 如何利用ftrace精确跟踪特定进程调度信息
- prometheus网络监控之fping-exporter
- hyper linux的实操步骤,hyper-v批量管理工具的使用指南
- 2021年,运维工程师笔试真题(二)(附带答案)
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)