Excel精英培训网

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

[已解决]从身份证号码中提取性别

[复制链接]
发表于 2008-12-13 13:09 | 显示全部楼层 |阅读模式

从身份证号码中提取性别

最佳答案
2008-12-13 13:28

=IF(MOD(MID(A1,15,3),2),"男","女")

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2008-12-13 13:09 | 显示全部楼层

Q:A1单元格中是15位的身份证号码,要在B1中显示性别(这里忽略15位和18位身份证号码的判别)

B1=if(mod(right(A1,1),2)>0,"male","female")

请问这个公式有无问题,我试过没发现问题。但在某个网站看到作者所用的是如下公式:

B1=if(mid(A1,15,1)/2=trunc(mid(A1,15,1)/2,"female","male")

提取性别(无论是15位还是18位)

=IF(LEN(A1)=15,IF(MOD(MID(A1,15,1),2)=1,"",""),IF(MOD(MID(A1,17,1),2)=1,"",""

 

如果身份证号的输入已是15或18位,用公式

=IF(MOD(LEFT(RIGHT(A1,(LEN(A1)=18)+1)),2),"",""

回复

使用道具 举报

发表于 2008-12-13 13:22 | 显示全部楼层
回复

使用道具 举报

发表于 2008-12-13 13:28 | 显示全部楼层    本楼为最佳答案   

=IF(MOD(MID(A1,15,3),2),"男","女")

回复

使用道具 举报

发表于 2008-12-13 13:31 | 显示全部楼层

假设在A2单元格输入身份证号码,要求在某个单元格显示他的性别,下面的2个公式,朋友你可试试,很简单的

 1.=IF(A2<>"",IF(MOD(RIGHT(LEFT(A2,17)),2),"男","女"),)

2.=if(len(if(len($A2)=18,mid($A2,17,1),mid($A2,15,1))/2)=1,"女","男")

回复

使用道具 举报

发表于 2008-12-13 13:32 | 显示全部楼层

不错,不错!
回复

使用道具 举报

发表于 2008-12-13 13:50 | 显示全部楼层

我也贴一个,不论15或18位

=IF(MOD(MID(A1,15+(LEN(A1)=18)*2,1),2),"男","女")

回复

使用道具 举报

发表于 2008-12-13 14:02 | 显示全部楼层

[em02]
回复

使用道具 举报

发表于 2008-12-13 15:21 | 显示全部楼层

ipnub
回复

使用道具 举报

发表于 2008-12-14 09:23 | 显示全部楼层

哦,还可以这样做。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-16 22:29 , Processed in 0.316197 second(s), 5 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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