vba--公式法从身份证中提取信息

从身份证中提取有用信息:
1)公式法
Excel隐藏函数 ,在帮助和插入公式里面没有。 返回两个日期之间的年\月\日间隔数。常使用 DATEDIF函数 计算两日期之差。[英] DATEDIF function
  语法
  DATEDIF(start_date,end_date,unit)
  Start_date 为一个日期,它代表时间段内的第一个日期或起始日期。
  End_date 为一个日期,它代表时间段内的最后一个日期或结束日期。
  Unit 为所需信息的 返回类型
  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日

从身份证中提取年龄等信息.xlsx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小蚂蚁_CrkRes

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值