首页 > 编程知识 正文

c语言身份证提取出生年月(身份证号码提取前18位公式)

时间:2023-05-03 07:38:02 阅读:65840 作者:442

身份证中包含籍贯信息,前6位是省市代码

其中第一、二位表示省、自治区或直辖市

第3、4位表示所在的城市

第5、6位表示所在县区

从身份证中提取籍贯信息需要代码和籍贯对应表

编辑从网上下载了一份,分享给大家

点击句子后面的【阅读原文】得到下载链接

由于县区信息不断更新,部分县区信息可能不在表中

如果有籍贯对照表,通过在对照表中纵向查找身份证前6位的数字,提取对应的籍贯信息

详细步骤:

抽取身份证前六名

=左(B3,6 ) ) )。

用vlookup函数纵向查找

首先,让我们来看看vlookup函数的使用

【功能】

纵向搜索

【语法】

lookup(lookup_value、table_array、col_index_num、range_lookup ) )。

【参数】lookup_value :找值,根据什么线索找?

在这里根据身份证前6位的数字查找对应的籍贯,lookup_value=身份证前6位的数字

table_array :在哪里找?

在这里用出生地对照表查找,table_array=出生地对照表! A:B

col_index_num :返回搜索区域中数据的列数

如果这里的籍贯位于数字代码串的第二列,则col_index_num=2

range_lookup :模糊匹配/严格匹配true/1是指模糊匹配

false/0是指正确一致

如果不填写的话,默认情况下会正确匹配

输入式=vlookup (left (B2,6 ),籍贯对照表! A:B,2 )

咦,为什么找不到信息?

这是使用vlookup函数时常见的问题

如果搜索值和数据范围的格式不同,将显示错误

这里身份证号码是文本格式,提取的6位数字也是文本格式,但籍贯对照表的格式都是普通的数值格式,格式不一致,系统无法识别

解决方案:

将从身份证号码中提取的6位数字从文本格式转换为数值格式

可以通过加减运算转换为数值格式0

-0

*1

/1

最终公式

=vlookup (left (B2,6 ) *1,出生地对照表! A:B,2 )

小TIP :

在使用表达式时,经常发生格式差异导致的结果错误

需要特别注意格式是否一致

除了函数表达式之外,还可以使用特殊粘贴将文本格式转换为数字格式

选择空单元格,用ctrl c复制

选择要转换的格式区域,点击右键选择性粘贴运算或-

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。