小伙伴们好啊,今天老祝为大家准备了一组和身份证有关的函数公式,看看如何从身份证号码中提取出需要的信息。

如下图为所示,是一份模拟的员工信息表,A列是姓名,B列是身份证号码,C列是职级。

首先咱们来提取出生年月,D2输入以下公式,向下复制。=--TEXT(MID(B2,7,8),"0-00-00")

身份证号码中的第8位到15位是出生年月信息。首先使用MID函数从A2单元格的第7位开始,提取出8个字符,得到字符 "19820102"。 再使用TEXT函数将这个字符串变成日期样式的文本,得到字符串“1982-01-02”。由于TEXT函数的结果是文本型的内容,所以加上两个小减号 -- ,也就是计算负数的负数,通过四则运算,变成真正的日期序列。这样做的目的是为了便于后续的统计汇总。如果公式结果显示为5位数字,别忘了设置一下单元格格式为日期。

★★ 接下来咱们要计算年龄,计算年龄时,可以借助刚刚已经提取出的出生年月,E2单元格输入以下公式,向下复制。=DATEDIF(D2,"2020-1-1","y")

DATEDIF函数用于计算两个日期之间的间隔。用法是:=DATEDIF(起始日期,截止日期,指定间隔类型)本例中起始日期是D2的出生年月,截止日期是2020年1月1日。指定间隔类型为“Y”,表示计算间隔整年份。如果是“M”,就表示计算间隔的整月份了。DATEDIF函数是隐藏函数,输入时没有屏幕提示,需要手工录入哦。如果不借助D列的出生年月,公式可以这样写:

=DATEDIF(TEXT(MID(B2,7,8),"0-00-00"),"2020-1-1","y")

★★★ 领导除了关心年龄,更关心的应该就是性别了【手动狗头】

,使用以下公式,可以提取出员工的性别信息:=IF(MOD(MID(B2,17,1),2),"男","女")

身份证号码中的第17位是性别信息,单数表示男,双数表示女。首先使用MID函数,从B2单元格的第17位开始,提取出1个字符。再使用MOD函数计算这个字符与2相除的余数。最后使用IF函数判断,如果余数不等于0,返回男,如果余数是0,则返回女。

★★★★ 接下来,咱们要根据提取出的出生年月和性别以及职级信息,来计算退休年月,根据现有法规,男性退休年龄为60岁,女性干部退休年龄为55岁,女性年退休为50岁。G2输入以下公式,向下复制。=EDATE(D2,IF(F2="男",720,IF(F2&C2="女干部",660,600)))

EDATE函数的作用是根据指定的起始日期和间隔月份,计算从指定日期开始,间隔N个月后的日期。本例中,指定起始日期是D2单元格的出生年月。

间隔月份的公式部分是:IF(F2="男",720,IF(F2&C2="女干部",660,600))这部分看起来有点小复杂,咱们慢慢拆解一下:

先用IF函数判断F2单元格的性别是不是等于"男",如果是,返回720(720个月,也就是60岁)。如果不等于"男",就继续判断F2的性别连接C2的职级,是不是等于"女干部",如果是,返回660(660个月,也就是55岁),如果不等于"女干部",就返回600(600个月,即50岁)。

★★★★★ 身份证号码的前六位表示户籍所在地,接下来咱们就看看如何根据身份证号码判断所在籍贯。判断籍贯时,咱们要先准备一份对照表,百度就有很多,我下载的这个对照表里的户籍代码好像不太全

在信息表的G2单元格输入以下公式,向下复制。

=VLOOKUP(LEFT(B2,6)*1,身份证代码对照表!A:B,2,0)

首先用LEFT(B2,6)得到身份证号码的前六位,然后使用VLOOKUP函数在代码对照表里查找对应的籍贯信息。因为LEFT函数得到的是文本型的数字,而咱们的代码表里是数值型的,所以用乘以1的方法转换为数值,否则查询会出错了。

★★★★★★ 最后咱们再看看查找重复身份证号码的问题。I2输入以下公式,向下复制。

=IF(COUNTIF(B:B,B2&"*")>1,"有重复","无重复")

身份证号码的查重和常规的数据查重不太一样,在COUNTIF函数的第二参数后要加上一个星号 &"*"。COUNTIF函数在计算文本型数字时,会默认按数值型进行处理,但是Excel中的数字精度只有15位,而身份证号码是18位,这样就会把前15位相同的身份证全部识别为相同的内容。咱们利用Excel中的数值不支持通配符的特点,在第二参数后连接上一个通配符星号 &"*"。就是相当于告诉Excel,要查找以B2单元格内容开头的文本,通过这样变通的手段,COUNTIF函数就听话了。

好了,咱们今天的内容就先这样吧,祝小伙伴和家人们安好。

练习文件:

https://pan.baidu.com/s/1M82Vl5Ik0dn1ZQVeyJCCMg

提取码: f6hr

图文制作:祝洪忠

java 身份证地址提取籍贯_从身份证号码中提取信息,这些方法请收好相关推荐

  1. java 身份证地址提取籍贯_获取身份证信息中的籍贯、出生及性别信息

    前言:之前在项目开发中,经常需要用户录入身份证信息,同时还要提供籍贯等信息.那么,如何从身份证号码中解析出籍贯等信息,就是本篇博客索要解决的. 其实,身份证号码前6位就是用户的籍贯编码,直接解析该6位 ...

  2. 未越狱设备提取数据_从三星设备中提取健康数据

    未越狱设备提取数据 Health data is collected every time you have your phone in your pocket. Apple or Android, ...

  3. python如何从文本中提取数据_如何从文本文件中提取数据?

    所以我有一组文件,我需要从中提取数据并写入一个新的txt文件,我不知道如何使用Python来实现这一点.下面是一个样本数据.我试图从NSF的组织,文件和摘要中提取部分.在 标题:CRB:神秘鲸濒危种群 ...

  4. 如何快速从身份证号码中提取周岁?

    今天跟大家分享一下如何快速从身份证号码中提取周岁? 1.点击[DIY工具箱] 2.点击[身份证]选择[提取年龄] 3.勾选[年龄]并设置为[周岁],然后点击[确定] ​ 4.最后我们选择一个合适的保存 ...

  5. excel如何从身份证号码中提取虚岁?

    1.打开演示文件要求从身份证号码中提取虚岁. 2.首先我们选中身份证号码单元格区域 3.然后我们点击[diy工具箱] ​ 4.点击[身份证]然后选择[提取年龄] 5.选择[虚岁],接着我们点击[确定] ...

  6. 7-27 从身份证号码中提取出出生年月 (12point(s))

    7-27 从身份证号码中提取出出生年月 (12point(s)) 输入一个18位的身份证号码,提取出年份和月份并输出,请判断输入的号码是否是18位,如果不是请提示"Invalid data, ...

  7. 如何从Excel单元格的身份证号码中提取出生日期、性别

    从身份证号码中提取出生年月.性别需要使用到字符串截取函数MID(),取余函数MOD()和条件函数IF() 一.提取出生日期 在需要录入出生日期的单元格输入=MID(A1,7, 8)回车即可,函数自动会 ...

  8. 提取html string,c#从html中提取文本

    虽然之前也写过gensim库的word2vec的教程,但是对于文本分析的特征提取并不太理解.最近看了几篇scikit的外文教程,对机器学习中文本的特征提取有了一些了解. 一:背景相信有很多朋友在遇到应 ...

  9. wireshark提取视频数据之RTP包中提取H264和H265

    wireshark提取视频数据之RTP包中提取H264和H265 文章目录 wireshark提取视频数据之RTP包中提取H264和H265 1 背景 2 提取前工作 3 H264视频从RTP包中提取 ...

最新文章

  1. 《深入理解Elasticsearch(原书第2版)》——1.4 小结
  2. unity 纹理压缩格式‘_[2018.1]Unity贴图压缩格式设置
  3. Error: bin/bash^M: bad interpreter: no such file o
  4. java 21 - 6 字符缓冲流的特殊方法以及该方法高效复制文件
  5. php7安装xhprof,PHP 7.1安装xhprof进行性能分析的介绍
  6. Hibernate4.3基础知识2
  7. 售价 239 美元,第一台 RISC-V 便携式计算机现已上市
  8. vim 编辑器 bash文件测试
  9. mysql 执行计划不对_mysql tokudb执行计划走的不准确案例
  10. tcp协议和udp协议区别_TCP和UDP协议有什么区别?
  11. 序列化和反序列化_PHP序列化和反序列化
  12. eclips 创建 maven项目
  13. 使用Neo4j分析《权力的游戏》
  14. tushare 获取复权数据
  15. IETester——用来测试IE5.5~IE11兼容性的工具
  16. Pycharm报错:AttributeError: ‘NoneType‘ object has no attribute ‘_gdal‘的解决办法
  17. 什么是迁移学习 (Transfer Learning)?
  18. 一文带你开始挣取自己的一点睡后收入(基金,理财)
  19. switch c语言求奖金,超级新手,用switch写了个计算器程序,求指导
  20. Involution 笔记:

热门文章

  1. 柏林噪声实践 水与火,顶点纹理拾取
  2. 现代 CMake 简明教程(一)- CMake 基础
  3. 字符串比较中NSNumericSearch选项的工作原理
  4. mvn exec运行java Main报错
  5. 关于Element UI中select组件中遇到的问题
  6. 11.LNMP基础架构
  7. 【BZOJ】1901: Zju2112 Dynamic Rankings(区间第k小+树状数组套主席树)
  8. 地铁线路图的设计与实现
  9. 一基于Fourinone实现分布式计算上手demo
  10. 基于 C++ POCO 库封装的异步多线程的 CHttpClient 类