为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

excel身份证自动判断男女出生日期工龄

2017-12-26 9页 doc 26KB 20阅读

用户头像

is_562397

暂无简介

举报
excel身份证自动判断男女出生日期工龄excel身份证自动判断男女出生日期工龄 1、 示例说明 在如图6所示的某公司人事资料表中,除了编号、员工姓名、身份证号码以及参加工作时间为手工添入外,其余各项均为用函数计算所得。 图6 在此例中我们将详细说明如何通过函数求出: (1)自动从身份证号码中提取出生年月、性别信息。 (2)自动从参加工作时间中提取工龄信息。 2、身份证号码相关知识 在了解如何实现自动从身份证号码中提取出生年月、性别信息之前,首先需要了解身份证号码所代表的含义。我们知道,当今的身份证号码有15/18位之分。早期签发的身份证号码是15位...
excel身份证自动判断男女出生日期工龄
excel身份证自动判断男女出生日期工龄 1、 示例说明 在如图6所示的某公司人事资料中,除了编号、员工姓名、身份证号码以及参加工作时间为手工添入外,其余各项均为用函数计算所得。 图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位为效验位。 3、 应用函数 在此例中为了实现数据的自动提取,应用了如下几个Excel函数。 (1)IF函数:根据逻辑表达式测试的结果,返回相应的值。IF函数允许嵌套。 语法形式为:IF(logical_test, value_if_true,value_if_false) (2)CONCATENATE:将若干个文字项合并至一个文字项中。 语法形式为:CONCATENATE(text1,text2……) (3)MID:从文本字符串中指定的起始位置起,返回指定长度的字符。 语法形式为:MID(text,start_num,num_chars) (4)TODAY:返回计算机系统内部的当前日期。 语法形式为:TODAY() (5)DATEDIF:计算两个日期之间的天数、月数或年数。 语法形式为:DATEDIF(start_date,end_date,unit) (6)VALUE:将代表数字的文字串转换成数字。 语法形式为:VALUE(text) (7)RIGHT:根据所指定的字符数返回文本串中最后一个或多个字符。 语法形式为:RIGHT(text,num_chars) (8)INT:返回实数舍入后的整数值。语法形式为:INT(number) 4、 公式写法及解释(以员工Andy为例说明) 说明:为避免公式中过多的嵌套,这里的身份证号码限定为15位的。如果您看懂了公式的话,可以进行简单的修改即可适用于18位的身份证号码,甚至可适用于15、18两者并存的情况。 (1)根据身份证号码求性别 =IF(VALUE(RIGHT(E4,3))/2=INT(VALUE(RIGHT(E4,3))/2),"女","男") 公式解释:a. RIGHT(E4,3)用于求出身份证号码中代表性别的数字,实际求得的为代表数字的字符串 b. VALUE(RIGHT(E4,3)用于将上一步所得的代表数字的字符串转换为数字 c. VALUE(RIGHT(E4,3))/2=INT(VALUE(RIGHT(E4,3))/2用于判断这个身份证号码是奇数还是偶数,当然你也可以用Mod函数来做出判断。 d. =IF(VALUE(RIGHT(E4,3))/2=INT(VALUE(RIGHT(E4,3))/2),"女","男")及如果上述公式判断出这个号码是偶数时,显示"女",否则,这个号码是奇数的话,则返回"男"。 (2)根据身份证号码求出生日期 =CONCATENATE("19",MID(E4,7,2),"/",MID(E4,9,2),"/",MID(E4,11,2)) 公式解释:a. MID(E4,7,2)为在身份证号码中获取表示年份的数字的字符串 b. MID(E4,9,2) 为在身份证号码中获取表示月份的数字的字符串 c. MID(E4,11,2) 为在身份证号码中获取表示日期的数字的字符串 d. CONCATENATE("19",MID(E4,7,2),"/",MID(E4,9,2),"/",MID(E4,11,2))目的就是将多个字符串合并在一起显示。 (3)根据参加工作时间求年资(即工龄) =CONCATENATE(DATEDIF(F4,TODAY(),"y"),"年",DATEDIF(F4,TODAY(),"ym"),"个月") 公式解释: a. TODAY()用于求出系统当前的时间 b. DATEDIF(F4,TODAY(),"y")用于计算当前系统时间与参加工作时间相差的年份 c. DATEDIF(F4,TODAY(),"ym")用于计算当前系统时间与参加工作时间相差的月份,忽略日期中的日和年。 d. =CONCATENATE(DATEDIF(F4,TODAY(),"y"),"年",DATEDIF(F4,TODAY(),"ym"),"个月")目的就是将多个字符串合并在一起显示。 5. 其他说明 在这张人事资料表中我们还发现,创建日期:31-05-2001时显示在同一个单元格中的。这是如何实现的呢,难道是手工添加的吗,不是,实际上这个日期还是变化的,它显示的是系统当前时间。这里是利用函数 TODAY 和函数 TEXT 一起来创建一条信息,该信息包含着当前日期并将日期以"dd-mm-yyyy"的表示。 具体公式写法为:="创建日期:"&TEXT(TODAY(),"dd-mm-yyyy") 至此,我们对于文本函数、日期与时间函数已经有了大致的了解,同时也设想了一些应用领域。相信随着大家在这方面的不断研究,会有更广泛的应用。 附一:文本函数 函数名 函数说明 语法 ASC 将字符串中的全角(双字节)英文字母更改为半角(单字节)字符。 ASC(text) CHAR 返回对应于数字代码的字符,函数 CHAR 可将其他类型计算机文件中的代码转换为字符。 CHAR(number) CLEAN 删除文本中不能打印的字符。对从其他应用程序中输入的字符串使用 CLEAN 函数,将 删除其中含有的当前操作系统无法打印的字符。例如,可以删除通常出现在数据文件头部或尾部、无法打印的低级计算机代码。 CLEAN(text) CODE 返回文字串中第一个字符的数字代码。返回的代码对应于计算机当前使用的字符集。 CODE(text) CONCATENATE 将若干文字串合并到一个文字串中。 CONCATENATE (text1,text2,...) DOLLAR 依照货币格式将小数四舍五入到指定的位数并转换成文字。 DOLLAR 或 RMB(number,decimals) EXACT 该函数测试两个字符串是否完全相同。如果它们完全相同,则返回 TRUE;否则,返回 FALSE。函数 EXACT 能区分大小写,但忽略格式上的差异。利用函数 EXACT 可以测试输入文档内的文字。 EXACT(text1,text2) FIND FIND 用于查找其他文本串 (within_text) 内的文本串 (find_text),并从 within_text 的首字符开始返回 find_text 的起始位置编号。 FIND(find_text,within_text,start_num) FIXED 按指定的小数位数进行四舍五入,利用句点和逗号,以小数格式对该数设置格式,并以文字串形式返回结果。 FIXED(number,decimals,no_commas) JIS 将字符串中的半角(单字节)英文字母或片假名更改为全角(双字节)字符。 JIS(text) LEFT LEFT 基于所指定的字符数返回文本串中的第一个或前几个字符。 LEFTB 基于所指定的字节数返回文本串中的第一个或前几个字符。此函数用于双字节字符。 LEFT(text,num_chars) LEFTB(text,num_bytes) LEN LEN 返回文本串中的字符数。 LENB 返回文本串中用于代表字符的字节数。此函数用于双字节字符。 LEN(text) LENB(text) LOWER 将一个文字串中的所有大写字母转换为小写字母。 LOWER(text) MID MID 返回文本串中从指定位置开始的特定数目的字符,该数目由用户指定。 MIDB 返回文本串中从指定位置开始的特定数目的字符,该数目由用户指定。此函数用于双字节字符。 MID(text,start_num,num_chars) MIDB(text,start_num,num_bytes) PHONETIC 提取文本串中的拼音 (furigana) 字符。 PHONETIC(reference) PROPER 将文字串的首字母及任何非字母字符之后的首字母转换成大写。将其余的字母转换成小写。 PROPER(text) REPLACE REPLACE 使用其他文本串并根据所指定的字符数替换某文本串中的部分文本。 REPLACEB 使用其他文本串并根据所指定的字符数替换某文本串中的部分文本。此函数专为双字节字符使用。 REPLACE(old_text,start_num,num_chars,new_text) REPLACEB(old_text,start_num,num_bytes,new_text) REPT 按照给定的次数重复显示文本。可以通过函数 REPT 来不断地重复显示某一文字串,对单元格进行填充。 REPT(text,number_times) RIGHT RIGHT 根据所指定的字符数返回文本串中最后一个或多个字符。 RIGHTB 根据所指定的字符数返回文本串中最后一个或多个字符。此函数用于双字节字符。 RIGHT(text,num_chars) RIGHTB(text,num_bytes) SEARCH SEARCH 返回从 start_num 开始首次找到特定字符或文本串的位置上特定字符的编号。使用 SEARCH 可确定字符或文本串在其他文本串中的位置,这样就可使用 MID 或 REPLACE 函数更改文本。 SEARCHB 也可在其他文本串 (within_text) 中查找文本串 (find_text),并返回 find_text 的起始位置编号。此结果是基于每个字符所使用的字节数,并从 start_num 开始的。此函数用于双字节字符。此外,也可使用 FINDB 在其他文本串中查找文本串。 SEARCH(find_text,within_text,start_num) SEARCHB(find_text,within_text,start_num) SUBSTITUTE 在文字串中用 new_text 替代 old_text。如果需要在某一文字串中替换指定的文本,请使用函数 SUBSTITUTE;如果需要在某一文字串中替换指定位置处的任意文本,请使用函数 REPLACE。 SUBSTITUTE(text,old_text,new_text,instance_num) T 将数值转换成文本。 T(value) TEXT 将一数值转换为按指定数字格式表示的文本。 TEXT(value,format_text) TRIM 除了单词之间的单个空格外,清除文本中所有的空格。在从其他应用程序中获取带有不规则空格的文本时,可以使用函数 TRIM。 TRIM(text) UPPER 将文本转换成大写形式。 UPPER(text) VALUE 将代表数字的文字串转换成数字。 VALUE(text) WIDECHAR 将单字节字符转换为双字节字符。 WIDECHAR(text) YEN 使用 ,(日圆)货币格式将数字转换成文本,并对指定位置后的数字四舍五入。 YEN(number,decimals) 附二、日期与时间函数 函数名 函数说明 语法 DATE 返回代表特定日期的系列数。 DATE(year,month,day) DATEDIF 计算两个日期之间的天数、月数或年数。 DATEDIF(start_date,end_date,unit) DATEVALUE 函数 DATEVALUE 的主要功能是将以文字表示的日期转换成一个系列数。 DATEVALUE(date_text) DAY 返回以系列数表示的某日期的天数,用整数 1 到 31 表示。 DAY(serial_number) DAYS360 按照一年 360 天的算法(每个月以 30 天计,一年共计 12 个月),返回两日期间相差的天数。 DAYS360(start_date,end_date,method) EDATE 返回指定日期 (start_date) 之前或之后指定月份数的日期系列数。使用函数 EDATE 可以计算与发行日处于一月中同一天的到期日的日期。 EDATE(start_date,months) EOMONTH 返回 start-date 之前或之后指定月份中最后一天的系列数。用函数 EOMONTH 可计 算特定月份中最后一天的时间系列数,用于证券的到期日等计算。 EOMONTH(start_date,months) HOUR 返回时间值的小时数。即一个介于 0 (12:00 A.M.) 到 23 (11:00 P.M.) 之间的整数。 HOUR(serial_number) MINUTE 返回时间值中的分钟。即一个介于 0 到 59 之间的整数。 MINUTE(serial_number) MONTH 返回以系列数表示的日期中的月份。月份是介于 1(一月)和 12(十二月)之间的整 数。 MONTH(serial_number) NETWORKDAYS 返回参数 start-data 和 end-data 之间完整的工作日数值。工作日不包括周 末和专门指定的假期 NETWORKDAYS(start_date,end_date,holidays) NOW 返回当前日期和时间所对应的系列数。 NOW( ) SECOND 返回时间值的秒数。返回的秒数为 0 至 59 之间的整数。 SECOND(serial_number) TIME 返回某一特定时间的小数值,函数 TIME 返回的小数值为从 0 到 0.99999999 之间的数值,代表从 0:00:00 (12:00:00 A.M) 到 23:59:59 (11:59:59 P.M) 之间的时间。 TIME(hour,minute,second) TIMEVALUE 返回由文本串所代表的时间的小数值。该小数值为从 0 到 0.999999999 的数值,代表从 0:00:00 (12:00:00 AM) 到 23:59:59 (11:59:59 PM) 之间的时间。 TIMEVALUE(time_text) TODAY 返回当前日期的系列数,系列数是 Microsoft Excel 用于日期和时间计算的日期-时 间代码。 TODAY( ) WEEKDAY 返回某日期为星期几。默认情况下,其值为 1(星期天)到 7(星期六)之间的整 数。 WEEKDAY(serial_number,return_type) WEEKNUM 返回一个数字,该数字代表一年中的第几周。 WEEKNUM(serial_num,return_type) WORKDAY 返回某日期(起始日期)之前或之后相隔指定工作日的某一日期的日期值。工作日 不包括周末和专门指定的假日。 WORKDAY(start_date,days,holidays) YEAR 返回某日期的年份。返回值为 1900 到 9999 之间的整数。 YEAR(serial_number) YEARFRAC 返回 start_date 和 end_date 之间的天数占全年天数的百分比。 YEARFRAC(start_date,end_date,basis)
/
本文档为【excel身份证自动判断男女出生日期工龄】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索