ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 7925|回复: 16

[求助] 自定义宏公式提取15位和18位身份证号码中的出生年月和性别

[复制链接]

TA的精华主题

TA的得分主题

发表于 2009-7-5 11:50 | 显示全部楼层 |阅读模式
自定义宏公式提取15位和18位身份证号码中的出生年月和性别(求专家制作自动年月日宏公式,自动性别宏公式),用假设函数很麻烦的,自已用还好说,把原来制作好的复制出来改改区域就行,可是有时人家问到,要讲大半天,不如求专家制作一个自动宏公式。
各位路过的大侠,不要以为这是小题在作,制作好,作为自定义工具公式是很好的。我在网上可找了好久了,就是没找到,特意在这里请教,我知道,这里的专家们很热心。

[ 本帖最后由 wudingyong 于 2009-7-5 12:11 编辑 ]

Book1.rar

1.72 KB, 下载次数: 102

TA的精华主题

TA的得分主题

发表于 2009-7-5 12:19 | 显示全部楼层
Function xb(rng) As String
    xb = IIf(Mid(rng, 15, 3) Mod 2, "男", "女")
End Function

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-7-5 12:25 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

回复 2楼 赵国辉 的帖子

还没完全达到我的要求,麻烦楼主再给修改增加功能一下,这里先谢了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-7-5 12:26 | 显示全部楼层

回复 2楼 赵国辉 的帖子

18位和15位的身分证号码是混合的。

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-7-5 12:34 | 显示全部楼层

回复 2楼 赵国辉 的帖子

生成,如果加上不是15位和18位则生成空白最好。

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-7-5 12:36 | 显示全部楼层

自定义宏公式提取15位和18位身份证号码中的出生年月和性别

各位专家、大侠,我这个贴子好像不热门,可是这确实是我在工作中经常遇到的问题。我都遇到至少五个人问我了,用假设公式太麻烦了。

TA的精华主题

TA的得分主题

发表于 2009-7-5 12:47 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Function xb(rng) As String
    If Len(rng) = 15 Or Len(rng) = 18 Then
        xb = IIf(Mid(rng, 15, 3) Mod 2, "男", "女")
    Else
        xb = ""
    End If
End Function

TA的精华主题

TA的得分主题

发表于 2009-7-5 12:52 | 显示全部楼层
其实要做这个很麻烦,需要判断的地方很多
1、判断前六位的省、市、地区码是否正确
2、判断年月日是否正确(月[1~12],日[1~31],闰年2月的问题,年份是否过小或过大)
3、判断出生流水号是否正确(小于1000)
4、最后一位是否在十六进制范围内
5、其他没考虑到得,╮(╯▽╰)╭

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-7-5 12:52 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

回复 7楼 赵国辉 的帖子

谢了,我先看看。

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-7-5 12:57 | 显示全部楼层

回复 8楼 赵国辉 的帖子

是的,很麻烦,用假设公式也麻烦,不可生成出生年月,也可只看是不是15位与18位就进行判断生成就行了,当然加上判断年月日是否正确(月[1~12],日[1~31],闰年2月的问题也好,其它就不必考虑了。楼主辛苦了,楼主有时间可做一个给小弟。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-27 02:11 , Processed in 0.042955 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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