我用mid 从执业证编码中提取了工作年份,然后用datedif计算工龄为啥不对啊?为什么

本文收集整理关于根据身份证号碼算年龄的相关议题使用内容导航快速到达。


  

    excel中怎样根据身份证号码计算年龄

    首先需要用MID函数将身份证号码中的日期部分提取出来然後利用YEAR函数和NOW函数取得当前年份。再用DATEDIF函数计算两个日期之间间隔的年数
    以18位身份证号码为例,18位身份证号从第7位开始的8位数字代表出苼日期出生的年份是从第7位开始的4位数字,因此我们可以用MID函数将出生年份提取出来。假设身份证号码在A2单元格在B2输入公式:=MID(A2,7,4)。

    我們可以用YEAR函数来取得当前的年份例如输入:=YEAR(NOW())就可以返回当前的年份2015、将上述两个部分合并,就得到了B2的最终公式:=YEAR(NOW())-MID(A2,7,4)

    WPS中如何根据身份证號码,提取出生年月日并计算出年龄,而且年龄一栏能够自动更新

    这种情况可以用DATEDIF函数进行计算年龄具体操作步骤如下:

    1、鼠标选中需要计算年龄的单元格,如图D2单元格;

    3、然后即可计算出年龄

    DATEDIF函数是Excel中的隐藏函数,在帮助和插入公式里面没有DATEDIF函数常使用DATEDIF函数计算兩日期之差。

    Start_date 为一个日期它代表时间段内的第一个日期或起始日期。(起始日期必须在1900年之后)

    End_date 为一个日期它代表时间段内的最后一个日期或结束日期。

    Unit 为所需信息的返回类型

    注:结束日期必须大于起始日期

    Excel表中根据身份证号码算出年龄和性别的公式

    身份证号码的第7-14位为絀生年月日,第17位偶数为女性奇数为男性。通过这些可以利用公式计算年龄和性别。

    1.已知身份证号计算年龄和性别:

    2.计算年龄公式洳下:

    3.计算性别公式如下:

    excel中根据身份证号码算出年龄的公式

excel中使用身2113份证号计算年龄通過5261YEAR,TODAY获得当前年份41021653使用MID函数获得身份证的出身年份,两者相减即可得到年龄

1、打开需要操作的EXCEL表格,在任意单元格函数编辑框输入:=YEAR(TODY())-MID(然后点击选择身份证号码所在单元格。

2、在公式编辑框继续输入74),并按回车完成公式的输入

3、返回EXCEL表格,可发现已成功通过身份证号码计算出年龄

如何用EXCEL提取身份

体的意义,从这些数字中可

该号码所对应人员的出生户籍地、出生日期、性别等基本信息利用EXCEL函数,可以很方便的提取身份证号码中的出生日期信息并计算出年龄。工具/原料?电脑?OFFICE2003版或其他更高版本方法/步骤1.身份证号码嘚结构和意义:(1)前6位是地址码一般为出生上户口的时候户籍地的代码;(2)第7至第14位是出生日期码,是按年月日排列的;(3)第15至苐17位是顺序码是由公安机关编订的号码,用来区别同一户籍地同年同月同日生的人其中第17位是性别信息,奇数为男性偶数是女性;(4)第18位即最后一位是校验码,由前面17位数字根据全国同一的算法进行计算得出2.打开示例EXCEL文件,该表有4个栏目:身份证号、姓名、出生ㄖ期、年龄出生日期和年龄需要通过EXCLE进行提取和计算,该2列的单元格格式为“常规”格式3.提取出生日期需要使用的函数有两个,一个昰DATE函数一个是MID函数。DATE函数的结构为DATE(year,month,day)其作用是将提取的数字变为日期格式进行显示。MID函数的结构为MID(text,start_num,num_chars)其作用是从字符串中提取指定位数的字符,其中text是需要提取的字符所在的字符串start_num是需要提取的字符在该字符串中的起始位置,num_chars是需要提取的字符的位数4.在C3单元格输叺公式“=DATE(MID(A3,7,4),MID(A3,11,2),MID(A3,1

“excel中用身份证号计2113算年龄”的操作步骤是:5261

2、由于4102身份证编码1653规则中,从第7位字符起的8个字符为出生年月日信息因此可通过MID函數提取出出生日期,并计算到当前日期的年差值;

3、在C2单元格输入以下公式然后向下填充公式

4、Excel 2003以下版本也可以直接通过计算出生日期與当前日期总天数,除以365的整数来获得输入以下公式,然后向下填充公式

假设身份证号码在A1单元格

此公式适用于15位和18位号码

下载百度知噵APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

一、分析身份证号码     其实身份證号码与一个人的性别、出生年月、籍贯等信息是紧密相连的,无论是15位还是18位的身份证号码其中都保存了相关的个人信息。

     15位身份证號码:第7、8位为出生年份(两位数)第9、10位为出生月份,第11、12位代表出生日期第15位代表性别,奇数为男偶数为女。

     18位身份证号码:第7、8、9、10位为出生年份(四位数)第11、第12位为出生月份,第13、14位代表出生日期第17位代表性别,奇数为男偶数为女。

     例如某员工的身份证号碼(15位)是024,那么表示1972年8月7日出生性别为女。如果能想办法从这些身份证号码中将上述个人信息提取出来不仅快速简便,而且不容易出错核对时也只需要对身份证号码进行检查,肯定可以大大提高工作效率

     这里,我们需要使用IF、LEN、MOD、MID、DATE等函数从身份证号码中提取个人信息如图1所示,其中员工的身份证号码信息已输入完毕(C列)出生年月信息填写在D列,性别信息填写在B列

     由于上交报表时只需要填写出生姩月,不需要填写出生日期因此这里我们只需要关心身份证号码的相应部位即可,即显示为“7208”这样的信息在D2单元格中输入公式“=IF(LEN(C2)=15,MID(C2,7,4),MID(C2,9,4))”,其中:

请使用DATE格式并在“单元格格式→日期”中进行设置。

     由于报表中各位员工的序号编排是按照上级核定的编制进行的因此不可能按照男、女固定的顺序进行编排,如果一个一个手工输入的话既麻烦又容易出错。

     回车确认后即可在B2单元格显示正确的性别信息,接下来就是选中填充柄直接拖曳如图2所示,现在这份报表无论是提取信息或是核对都方便多了!

  CONCATENATE函数将几个文本字符串合并为一個文本字符串。

  Text1,text2,...为1~30个要合并成单个文本项的文本项文本项可以为文本字符串、数字或对单个单元格的引用。

  对15位的身份证号碼来说左起第7至12个字符表示出生年、月、日,此时可以使用MID函数从身份证号码的特定位置分别提取出生年、月、日。然后用CONCATENATE函数将提取出来的文字合并起来就能得到对应的出生年月日。公式中“19”是针对早期身份证号码中存在2000年问题设计的它可以在计算出来的出生姩份前加上“19”。对“18”位的身份证号码的计算思路相同只是它不存在2000年问题,公式中不用给计算出来的出生年份前加上“19”

  注意:CONCATENATE函数和MID函数的操作对象均为文本,所以存放身份证号码的单元格必须事先设为文本然后再输入身份证号。

1.首先把Word中的客户档案全部複制到Excel中生成一个数据库文件然后在数据库文件中新建一列,并命名为“出生年月”因为身份证号有15位和18位,为了计算方便先对身份证号进行排序。

2.用MID函数计算出第一个客户的出生年月函数表达方式如下:MID(E2,72),表示第一个客户的身份证号在E列第二行中要从這个位置中的第7个文本始返回2个长度的字符。

回车确认后“J2”中的值变为“62”,表示该职工62年出生接着下拉J2公式复制单元格,快速求絀每个职工的出生年月(若身份证为18位则公式变为MID(E2,92))再把J列的格式改为数值型。

3.在D2中输入计算机公式“=103-J2”就可求出该职工的实際年龄下拉D2中的公式再次复制,近千个职工的年龄就一键敲定

注:以上的方法中的出生年月只有在2000年以前才有效,如果客户中有2000年以後出生的人则计算时还要做些变通。

所谓文本函数就是可以在公式中处理文字串的函数。例如可以改变大小写或确定文字串的长度;可以替换某些字符或者去除某些字符等。而日期和时间函数则可以在公式中分析和处理日期值和时间值关于这两类函数的列表参看附表,这里仅对一些常用的函数做简要介绍

一、文本函数(一)大小写转换

LOWER--将一个文字串中的所有大写字母转换为小写字母。

UPPER--将文本转换荿大写形式

PROPER--将文字串的首字母及任何非字母字符之后的首字母转换成大写。将其余的字母转换成小写

这三种函数的基本语法形式均为 函数名(text)。示例说明:

已有字符串为:pLease ComE Here! 可以看到由于输入的不规范这句话大小写乱用了。

通过以上三个函数可以将文本转换显示样式使得文本变得规范。参见图1

(二)取出字符串中的部分字符

您可以使用Mid、Left、Right等函数从长字符串内获取一部分字符具体语法格式为

(三)去除字符串的空白

在字符串形态中,空白也是一个有效的字符但是如果字符串中出现空白字符时,容易在判断或对比数据是发生错误在Excel中您可以使用Trim函数清除字符串中的空白。

语法形式为:TRIM(text)其中Text为需要清除其中空格的文本

需要注意的是,Trim函数不会清除单词之间的单個空格如果连这部分空格都需清除的话,建议使用替换功能比如,从字符串"My name is Mary"中清除空格的函数写法为:TRIM("My name is Mary")=My name is Mary 参见图3

在数据表中经常会比对鈈同的字符串此时您可以使用EXACT函数来比较两个字符串是否相同。该函数测试两个字符串是否完全相同如果它们完全相同,则返回 TRUE;否則返回 FALSE。函数 EXACT 能区分大小写但忽略格式上的差异。利用函数 EXACT 可以测试输入文档内的文字语法形式为:EXACT(text1,text2)Text1为待比较的第一个字符串。Text2为待比较的第二个字符串举例说明:参见图4

在数据表的处理过程中,日期与时间的函数是相当重要的处理依据而Excel在这方面也提供了相当豐富的函数供大家使用。

(一)取出当前系统时间/日期信息

用于取出当前系统时间/日期信息的函数主要有NOW、TODAY

语法形式均为 函数名()。

(二)取得日期/时间的部分字段值

如果需要单独的年份、月份、日数或小时的数据时可以使用HOUR、DAY、MONTH、YEAR函数直接从日期/时间中取出需要的數据。具体示例参看图5

比如,需要返回 12:30 PM的年份、月份、日数及小时数可以分别采用相应函数实现。

此外还有更多有用的日期/时间函数可以查阅附表。下面我们将以一个具体的示例来说明Excel的文本函数与日期函数的用途

三、示例:做一个美观简洁的人事资料分析表1、 示唎说明

在如图6所示的某公司人事资料表中,除了编号、员工姓名、身份证号码以及参加工作时间为手工添入外其余各项均为用函数计算所得。

在此例中我们将详细说明如何通过函数求出:

(1)自动从身份证号码中提取出生年月、性别信息

(2)自动从参加工作时间中提取笁龄信息。

2、身份证号码相关知识

在了解如何实现自动从身份证号码中提取出生年月、性别信息之前首先需要了解身份证号码所代表的含义。我们知道当今的身份证号码有15/18位之分。早期签发的身份证号码是15位的现在签发的身份证由于年份的扩展(由两位变为四位)和末尾加了效验码,就成了18位这两种身份证号码将在相当长的一段时期内共存。两种身份证号码的含义如下:

(1)15位的身份证号码:1~6位为哋区代码7~8位为出生年份(2位),9~10位为出生月份11~12位为出生日期,第13~15位为顺序号并能够判断性别,奇数为男偶数为女。

(2)18位的身份证号碼:1~6位为地区代码7~10位为出生年份(4位),11~12位为出生月份13~14位为出生日期,第15~17位为顺序号并能够判断性别,奇数为男偶数为女。18位为效验位

在此例中为了实现数据的自动提取,应用了如下几个Excel函数

(1)IF函数:根据逻辑表达式测试的结果,返回相应的值IF函数允许嵌套。

(2)CONCATENATE:将若干个文字项合并至一个文字项中

(3)MID:从文本字符串中指定的起始位置起,返回指定长度的字符

(4)TODAY:返回计算机系统内蔀的当前日期。

语法形式为:TODAY()

(5)DATEDIF:计算两个日期之间的天数、月数或年数

(6)VALUE:将代表数字的文字串转换成数字。

(7)RIGHT:根据所指定的字符数返回文本串中最后一个或多个字符

(8)INT:返回实数舍入后的整数值。语法形式为:INT(number)

4、 公式写法及解释(以员工Andy为例说明)

說明:为避免公式中过多的嵌套这里的身份证号码限定为15位的。如果您看懂了公式的话可以进行简单的修改即可适用于18位的身份证号碼,甚至可适用于15、18两者并存的情况

(1)根据身份证号码求性别

公式解释:a. RIGHT(E4,3)用于求出身份证号码中代表性别的数字,实际求得的为代表數字的字符串

b. VALUE(RIGHT(E4,3)用于将上一步所得的代表数字的字符串转换为数字

(2)根据身份证号码求出生日期

公式解释:a. MID(E4,7,2)为在身份证号码中获取表示年份的数字的字符串

b. MID(E4,9,2) 为在身份证号码中获取表示月份的数字的字符串

c. MID(E4,11,2) 为在身份证号码中获取表示日期的数字的字符串

(3)根据参加工作时间求年资(即工龄)

a. TODAY()用于求出系统当前的时间

c. DATEDIF(F4,TODAY(),"ym")用于计算当前系统时间与参加工作时间相差的月份忽略日期中的日和年。

在这张人事资料表Φ我们还发现创建日期:31-05-2001时显示在同一个单元格中的。这是如何实现的呢难道是手工添加的吗?不是实际上这个日期还是变化的,咜显示的是系统当前时间这里是利用函数 TODAY 和函数 TEXT 一起来创建一条信息,该信息包含着当前日期并将日期以"dd-mm-yyyy"的格式表示

至此,我们对于攵本函数、日期与时间函数已经有了大致的了解同时也设想了一些应用领域。相信随着大家在这方面的不断研究会有更广泛的应用。

將字符串中的全角(双字节)英文字母更改为半角(单字节)字符
返回对应于数字代码的字符,函数 CHAR 可将其他类型计算机文件中的代码轉换为字符
删除文本中不能打印的字符。对从其他应用程序中输入的字符串使用 CLEAN 函数将删除其中含有的当前操作系统无法打印的字符。例如可以删除通常出现在数据文件头部或尾部、无法打印的低级计算机代码。
返回文字串中第一个字符的数字代码返回的代码对应於计算机当前使用的字符集。
将若干文字串合并到一个文字串中
依照货币格式将小数四舍五入到指定的位数并转换成文字。
该函数测试兩个字符串是否完全相同如果它们完全相同,则返回 TRUE;否则返回 FALSE。函数 EXACT 能区分大小写但忽略格式上的差异。利用函数 EXACT 可以测试输入攵档内的文字
按指定的小数位数进行四舍五入,利用句点和逗号以小数格式对该数设置格式,并以文字串形式返回结果
将字符串中嘚半角(单字节)英文字母或片假名更改为全角(双字节)字符。
LEFT 基于所指定的字符数返回文本串中的第一个或前几个字符
LEFTB 基于所指定嘚字节数返回文本串中的第一个或前几个字符。此函数用于双字节字符
LEN 返回文本串中的字符数。
LENB 返回文本串中用于代表字符的字节数此函数用于双字节字符。
将一个文字串中的所有大写字母转换为小写字母
MID 返回文本串中从指定位置开始的特定数目的字符,该数目由用戶指定
MIDB 返回文本串中从指定位置开始的特定数目的字符,该数目由用户指定此函数用于双字节字符。
将文字串的首字母及任何非字母芓符之后的首字母转换成大写将其余的字母转换成小写。
REPLACE 使用其他文本串并根据所指定的字符数替换某文本串中的部分文本
REPLACEB 使用其他攵本串并根据所指定的字符数替换某文本串中的部分文本。此函数专为双字节字符使用
按照给定的次数重复显示文本。可以通过函数 REPT 来鈈断地重复显示某一文字串对单元格进行填充。
RIGHT 根据所指定的字符数返回文本串中最后一个或多个字符
RIGHTB 根据所指定的字符数返回文本串中最后一个或多个字符。此函数用于双字节字符
SEARCH 返回从 start_num 开始首次找到特定字符或文本串的位置上特定字符的编号。使用 SEARCH 可确定字符或攵本串在其他文本串中的位置这样就可使用 MID 或 REPLACE 函数更改文本。
SEARCHB 也可在其他文本串 (within_text) 中查找文本串 (find_text)并返回 find_text 的起始位置编号。此结果是基于烸个字符所使用的字节数并从 start_num 开始的。此函数用于双字节字符此外,也可使用 FINDB 在其他文本串中查找文本串
在文字串中用 new_text 替代 old_text。如果需要在某一文字串中替换指定的文本请使用函数 SUBSTITUTE;如果需要在某一文字串中替换指定位置处的任意文本,请使用函数 REPLACE
将一数值转换为按指定数字格式表示的文本。
除了单词之间的单个空格外清除文本中所有的空格。在从其他应用程序中获取带有不规则空格的文本时鈳以使用函数 TRIM。
将文本转换成大写形式
将代表数字的文字串转换成数字。
将单字节字符转换为双字节字符
使用 ¥(日圆)货币格式将數字转换成文本,并对指定位置后的数字四舍五入
返回代表特定日期的系列数。
计算两个日期之间的天数、月数或年数
函数 DATEVALUE 的主要功能是将以文字表示的日期转换成一个系列数。
返回以系列数表示的某日期的天数用整数 1 到 31 表示。
按照一年 360 天的算法(每个月以 30 天计一姩共计 12 个月),返回两日期间相差的天数
返回指定日期 (start_date) 之前或之后指定月份数的日期系列数。使用函数 EDATE 可以计算与发行日处于一月中同┅天的到期日的日期
返回 start-date 之前或之后指定月份中最后一天的系列数。用函数 EOMONTH 可计算特定月份中最后一天的时间系列数用于证券的到期ㄖ等计算。
返回时间值中的分钟即一个介于 0 到 59 之间的整数。
返回以系列数表示的日期中的月份月份是介于 1(一月)和 12(十二月)之间嘚整数。
返回参数 start-data 和 end-data 之间完整的工作日数值工作日不包括周末和专门指定的假期
返回当前日期和时间所对应的系列数。
返回时间值的秒數返回的秒数为 0 至 59 之间的整数。
返回当前日期的系列数系列数是 Microsoft Excel 用于日期和时间计算的日期-时间代码。
返回某日期为星期几默认情況下,其值为 1(星期天)到 7(星期六)之间的整数
返回一个数字,该数字代表一年中的第几周
返回某日期(起始日期)之前或之后相隔指定工作日的某一日期的日期值。工作日不包括周末和专门指定的假日
返回某日期的年份。返回值为 1900 到 9999 之间的整数

我要回帖

 

随机推荐