Excel通过身份证获取出生年月,性别,年龄,生肖,星座,省份等信息总结归纳

早期的身份证号码为15位数字,现在使用的身份证号码为18位数字,它们的含义如下:
(1)15位:1-6位为地区代码,7-8位为出生年份(2位),9-10位为出生月份,11-12位为出生日期,第13-15位为顺序号,这3位奇数为男,偶数为女。
(2)18位:1-6位为地区代码,7-10位为出生年份(4位),11-12位为出生月份,13-14位为出生日期,第15-17位为顺序号,同上,第18位为效验位。

在工作时,有时希望通过身份证号码,自动提取出出生日期、性别、年龄等信息。
现在我们就通过几个公式,来得到这些信息。

1、出生日期
=IF(LEN(A2)=15,CONCATENATE("19",MID(A2,7,2),"/",MID(A2,9,2),"/",MID(A2,11,2)),CONCATENATE(MID(A2,7,4),"/",MID(A2,11,2),"/",MID(A2,13,2)))
LEN函数是检测这个身份证号码的数字位数,然后通过IF判断函数对15位或18位的情况做出不同处理。
CONCATENATE函数将提取出的分别代表“年”、“月”、“日”的信息,以及分隔符“/”等内容,合并成一个文本字符串。
MID函数的做用是从身份证的某个位置开始,取出若干字符。比如MID(A2,7,2),就是将身份证号码(放在A2单元格中),从左边数第七个字符开始,取出2个字符。

2、性别
=IF(LEN(A2)=15,IF(VALUE(RIGHT(A2,3))/2=INT(VALUE(RIGHT(A2,3))/2),"女","男"),IF(VALUE(MID(A2,15,3))/2=INT(VALUE(MID(A2,15,3))/2),"女","男"))
由于代表性别的数字中,偶数为“女”,奇数为“男”,所以在这个公式中用VALUE函数将取出的字符串变成数字,再除以2,看是否能整除,因为奇数是不能整除的。
这里的INT函数是“取整”的意思,把上面除2后的结果用它取整,让IF函数判断一下,取整前后的结果是否相同,相同为偶数,不相同为奇数。
公式中的RIGHT函数是从字串的右边(即字符串最后面)取若干符,注意与MID函数的区别。

3、年龄:(根据得到的出生年月日计算得)

=CONCATENATE(DATEDIF(B2,TODAY(),"y"),"岁",DATEDIF(B2,TODAY(),"ym"),"个月")

=DATEDIF(B2,TODAY(),"y"),"岁"
由于我们用上面的公式,将“出生日期”提取到B2单元格,所以这里的公式是通过操作B2单元格的数据来得到年龄的。
函数DATEDIF是计算两个日期或时间的差值,通过第三个参数来确定所要的结果,比如“y”会得到两个日期相差的年;“ym”会得到除年外,所余的月数。
TODAY()函数的作用是得到当前系统日期,即电脑上今天的日期。

最终结果见下图:

4,省份

前2位代表省份。然后用VLOOKUP函数引用,就可以自动得到各员工的居住城市信息了

身份证号与省份的关系11 北京市;12 天津市;13 河北省;14 山西省;15 内蒙古自治区;21 辽宁省;22 吉林省;23 黑龙江省;31 上海市;32 江苏省;33 浙江省;34 安徽省;35 福建省;36 江西省;37 山东省;41 河南省;42 湖北省;43 湖南省;44 广东省;45 广西壮族自治区;46 海南省;50 重庆市;51 四川省;52 贵州省;53 云南省;54 西藏自治区;61 陕西省;62 甘肃省;63 青海省;64 宁夏回族自治区;65 新疆维吾尔自治区;71 台湾省;81 香港特别行政区;82 澳门特别行政区

5,生肖:(根据得到的出生年月日计算得)

=CHOOSE(MOD(YEAR(W2)-4,12)+1,"鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪")

6,星座:(根据得到的出生年月日计算得)

=LOOKUP(--TEXT(C3,"mdd"),{101,"摩羯";120,"水瓶";219,"双鱼";321,"白羊";420,"金牛";521,"双子";621,"巨蟹";723,"狮子";823,"处女";923,"天秤";1023,"天蝎";1122,"射手";1222,"摩羯"})&"座"

转载于:http://www.cnblogs.com/nxld/p/6111426.html

转载于:https://www.cnblogs.com/nxld/p/6111426.html

Excel通过身份证获取出生年月,性别,年龄,生肖,星座,省份等信息总结归纳...相关推荐

  1. Python 从身份证中提取出生日期/性别/年龄/生肖/星座/省份/城市/城市等级/区县(2019划分标准)

    写在前面 用python实现快速从身份证中explore尽量多的的信息,找了很多资料,发现并不全.参考已有的分享和其他信息自己写了. 能提取的信息: 出生日期.年龄.生肖.星座.省份.城市.区县.归属 ...

  2. js 验证身份证号,根据身份证获取出生年月/性别

    用到的input <input id="idCard" name="idCard" class="form-control" type ...

  3. Excel根据身份证号自动识别性别

    今天要和大家分享的是:Excel根据身份证号自动识别性别,先看动图演示,注意这里的身份证号为虚拟信息 1.首先打开表格,看到身份证号 2.然后选择身份证号 3.选择diy工具箱 4.选择身份证按钮 5 ...

  4. excel表格身份证提取出生年月

    今天小编跟大家分享一下excel表格身份证提取出生年月 1.下图是我随机录入的身份证号码,现在我们想要从中提取出出生年月信息. 2.首先我们选中数据单元格区域 3.点击下图选项(Excel工具箱,百度 ...

  5. js 根据身份证获取出生日期与年龄

    js 根据身份证获取出生日期与年龄 //获取出生日期getBirthdayFromIdCard(idCard) {var birthday = "";if (idCard != n ...

  6. Excel根据身份证号批量计算年龄+

    今天要和大家分享的是:Excel根据身份证号批量计算年龄,先看下面的动图演示 1.首先打开表格 2.选中数据区域 3.然后选择diy工具箱 4.选择身份证选项 5.选择提取年龄按钮 6.弹出对话框单击 ...

  7. mysql身份证号出生年月计算年龄(周岁)

    根据身份证号出生年月计算年龄(周岁) select TIMESTAMPDIFF(YEAR, SUBSTRING('xxxxxx19900828xxxx', 7, 8), CURDATE()) AS a ...

  8. 通过生日获取年龄+生肖+星座工具类

    通过生日获取年龄+生肖+星座工具类

  9. php根据生日算指定时间年龄,php根据生日计算年龄/生肖/星座实例

    本文章来介绍根据用户出生年月来计算年龄/生肖/星座的各种程序实例代码,各位朋友不防进入参考 //计算年龄  代码如下 复制代码 function birthday($mydate){ $birth=$ ...

最新文章

  1. css属性cusor
  2. 【worker】js中的多线程
  3. 模拟浏览器自动化测试工具Selenium之五Centos系统命令行下部署selenium环境试验
  4. boost::asio::ip::tcp用法的测试程序
  5. ZigBee,ZStack
  6. Python安装Jupyter Notebook配置使用教程
  7. MySQL : 报错:1130-host ... is not allowed to connect to this MySql server 开放mysql远程连接 不使用localhost...
  8. Scrapy网络爬虫框架实战[以腾讯新闻网为例]
  9. class 第一个元素_selenium之元素定位方式
  10. 罗永浩称赚钱没有太大难度,是凡尔赛还是感慨?
  11. mysql 索引列为Null的走不走索引及null在统计时的问题
  12. 使用bootstrap建立响应式网页——头部导航栏
  13. macOS如何刷新DNS缓存
  14. 记录方维p2p项目后台登录自动化测试验证码问题
  15. WINDOWS SERVER 2003禁用U盘
  16. 【补丁】YYC松鼠短视频系统补丁,增加视频点赞数据管理功能,可修改点赞数量,V2.8的功能
  17. 掌握NestJS - JavaScript Node.js 框架
  18. 安卓手机续航测试软件,10款手机电池续航测试对决:都是骁龙865手机,续航差距有多大?...
  19. db2中的时间函数(计算上年末,上月末,上季末)
  20. [模板上新]病毒防疫主题公众号图文模板免费使用,武汉加油!

热门文章

  1. JSON.parseArray()用法
  2. contains an expression but should be a constant
  3. JVM 内存设置大小
  4. Java实现数组转字符串及字符串转数组的方法
  5. Vue2.0入门系列——父子组件间通信
  6. leetcode记录-回文数
  7. OO生存指.....抱歉无法生存
  8. mysql之 mysql 5.6不停机主从搭建(一主一从基于日志点复制)
  9. DataUml Design 介绍11 - DataUML 1.5版本功能-支持无Oracle客户端
  10. 用面向对象的方式来编写javascript