Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3290|回复: 5

[已解决]不同格式身份证号求年龄、性别

[复制链接]
发表于 2014-9-30 10:48 | 显示全部楼层 |阅读模式
各位老师好。我想用身份证号来求到指定时间的学生年龄,为了方便操作,复制的身份证号的格式有纯文本方式,也有常规格式的。我有len函数来计算身份证长度有18位的,也有19位的。应当怎么解决复制来文件中的身份证支持这两种格式。
最佳答案
2014-9-30 11:19
  1. Sub test()
  2.     Dim arr, i&, re()
  3.     arr = Range("A1").CurrentRegion.Value
  4.     ReDim re(1 To UBound(arr), 1 To 3)
  5.     re(1, 1) = "出生日期": re(1, 2) = "年龄": re(1, 3) = "性别"
  6.     For i = 2 To UBound(arr)
  7.         re(i, 1) = Mid(arr(i, 1), IIf(Len(arr(i, 1)) = 18, 7, 8), 8)
  8.         re(i, 2) = DateDiff("yyyy", CDate(Format(re(i, 1), "0-00-00")), Date)
  9.         re(i, 3) = IIf(Mid(arr(i, 1), IIf(Len(arr(i, 1)) = 18, 17, 18), 1) Mod 2, "男", "女")
  10.     Next
  11.     Columns("B:D").ClearContents
  12.     Range("B1").Resize(UBound(re), 3) = re
  13. End Sub
复制代码

身份证号求出生日期年龄性别.zip

8.9 KB, 下载次数: 31

发表于 2014-9-30 10:57 | 显示全部楼层
C2公式,下拉;
=DATEDIF(TEXT(LEFT(RIGHT(A2,12),8),"0000-00-00"),TODAY(),"y")
D2公式,下拉;
=IF(MOD(LEFT(RIGHT(A2,2)),2),"男","女")
回复

使用道具 举报

发表于 2014-9-30 11:10 | 显示全部楼层
用clean函数清洁一下就好了。

身份证号求出生日期年龄性别.rar

9.42 KB, 下载次数: 12

回复

使用道具 举报

发表于 2014-9-30 11:19 | 显示全部楼层    本楼为最佳答案   
  1. Sub test()
  2.     Dim arr, i&, re()
  3.     arr = Range("A1").CurrentRegion.Value
  4.     ReDim re(1 To UBound(arr), 1 To 3)
  5.     re(1, 1) = "出生日期": re(1, 2) = "年龄": re(1, 3) = "性别"
  6.     For i = 2 To UBound(arr)
  7.         re(i, 1) = Mid(arr(i, 1), IIf(Len(arr(i, 1)) = 18, 7, 8), 8)
  8.         re(i, 2) = DateDiff("yyyy", CDate(Format(re(i, 1), "0-00-00")), Date)
  9.         re(i, 3) = IIf(Mid(arr(i, 1), IIf(Len(arr(i, 1)) = 18, 17, 18), 1) Mod 2, "男", "女")
  10.     Next
  11.     Columns("B:D").ClearContents
  12.     Range("B1").Resize(UBound(re), 3) = re
  13. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2014-9-30 15:43 | 显示全部楼层
初学,向大侠们学习!谢谢你们的帮助!
回复

使用道具 举报

 楼主| 发表于 2014-10-11 17:59 | 显示全部楼层
用clean函数清洁后数据变为科学记数。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-11 22:22 , Processed in 0.302316 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表