从身份证中提取有用信息:
1)公式法
语法
DATEDIF(start_date,end_date,unit)
Start_date 为一个日期,它代表时间段内的第一个日期或起始日期。
End_date 为一个日期,它代表时间段内的最后一个日期或结束日期。
Unit 返回
注:结束日期必须大于起始日期
quot;Y" 时间段中的整年数。
quot;M" 时间段中的整月数。
quot;D" 时间段中的天数。
quot;MD" start_date 与 end_date 日期中天数的差。忽略日期中的月和年。
quot;YM" start_date 与 end_date 日期中月数的差。忽略日期中的日 和年。
quot;YD" start_date 与 end_date 日期中天数的差。忽略日期中的年。
MID(
text,
start_num,
num_chars)
Text 是包含要提取字符的文本字符串。
Start_num 是文本中要提取的第一个字符的位置。文本中第一个字符的 start_num 为 1,以此类推。
Num_chars 指定希望 MID 从文本中返回字符的个数。
Num_bytes 指定希望 MIDB 从文本中返回字符的个数(按字节)。
注解
- 如果 start_num 大于文本长度,则 MID 返回空文本 ("")。
- 如果 start_num 小于文本长度,但 start_num 加上 num_chars 超过了文本的长度,则 MID 只返回至多直到文本末尾的字符。
- 如果 start_num 小于 1,则 MID 返回错误值 #VALUE!。
- 如果 num_chars 是负数,则 MID 返回错误值 #VALUE!。
- 如果 num_bytes 是负数,则 MIDB 返回错误值 #VALUE!。
LEN(
text)
Text 是要查找其长度的文本。空格将作为字符进行计数。
NOW
返回当前日期和时间所对应的序列号。如果在输入函数前,单元格的格式为
“常规”,则结果将设为日期格式。
语法
NOW( )
注解
- Microsoft Excel 可将日期存储为可用于计算的序列数。默认情况下,1900 年 1 月 1 日的序列号是 1,而 2008 年 1 月 1 日的序列号是 39448,这是因为它距 1900 年 1 月 1 日有 39448 天。Microsoft Excel for the Macintosh 使用另外一个默认日期系统。
- 序列号中小数点右边的数字表示时间,左边的数字表示日期。例如,序列号 .5 表示时间为中午 12:00。
- 函数 NOW 只有在重新计算工作表,或执行含有此函数的宏时改变。它并不会随时更新。
事例:
计算年龄:
=DATEDIF(DATE(MID(B3,7,4-(LEN(B3)=15)*2),MID(B3,11-(LEN(B3)=15)*2,2),MID(B3,13-(LEN(B3)=15)*2,2)),NOW(),"Y")
计算出生日期:
=TEXT(RIGHT(19&MID(B3,7,LEN(B3)/2-1),8),"#年##月##日")
计算性别:
=IF(ISODD(MID(B3,15,3)),"男","女")
人事资料表 | ||||
姓名 | 身份证 | 年龄 | 出生日期 | 性别 |
赵 | 511025198905126171 | 27 | 1989年05月12日 | 男 |
钱 | 440104198603255142 | 30 | 1986年03月25日 | 女 |