Office中国论坛/Access中国论坛
标题:
EXCEL里输入身份证号码后四位怎么显示的都是0000
[打印本页]
作者:
junjun840818
时间:
2007-9-17 10:50
标题:
EXCEL里输入身份证号码后四位怎么显示的都是0000
我新手,哪位大哥知道的请指教下,谢谢了啊
作者:
junjun840818
时间:
2007-9-17 10:56
知道的请指教下啊 急用
作者:
kangking
时间:
2007-9-17 13:54
将你要用来输入身份证号码的范围选中,然后在选中的单元格中点击右键,选择设置单元格格式,选择数字标签,在列表中选择文本,确定.
作者:
xmj0218
时间:
2007-9-18 12:58
你的位数太长了,EXCEL只能识别15位,把单元格属性改成文本的就可以了
作者:
maymay379520
时间:
2007-12-7 22:33
多謝樓主分享!!!!!!!!!!!!
作者:
pureshadow
时间:
2007-12-8 11:40
以前身份证号15位,还好一点,如今可真是麻烦,既有15位又有18位,晕啊……
由于EXCEL单元格的限制,15位以上的数字后几位就会自己动变为0,这样一来,别说计算了,数值都不准确了,麻烦!
当然了,可以把单元格的格式改成文本(先改格式后输入数字),或者在数字前加“'”,来让18位都显示出来,但两种不同的号毕竟有着很多问题。
我们都知道,通过身份证号是可以识别生日和性别的,两种格式的身份证就意味着在识别的时候要加条件,晕,又得制造一个几公里长的公式!
所以,我在具体做的过程中是把身份证号分四个单元格输入的:
A:320101
B:出生年月日
C:001
D:识别码
其中B列是日期格式,设置为“YYYYMMDD”;C列格式设置为“000”。
个人觉得这样做最大的好处是可以避免身份证号输入时的错位,尤其在输入B列时,不是日期范围立刻会被提醒。
当然,这样一来出现了新问题,应该是15位的身份证号变成了17位,总不能一个一个去改吧,貌似条件格式也用不起来,所以,这只是个身份证号的输入,显示的时候还需要做点手脚:
=A2&IF(D2="",TEXT(B2,"YYMMDD"),TEXT(B2,"YYYYMMDD"))&TEXT(C2,"000")&D2
当然了,如果仅是为了输入而输入,不需要对性别年龄进行识别,那就不用这么麻烦。
整体输入的身份证是不是就无法识别年龄性别了呢?也不是,前面说到要加条件。
从身份证号中计算年龄的公式是:
=--TEXT(TODAY()-SUM(DATE(MIDB(C3,7,{4,2}),MIDB(C3,{11,9},2),MIDB(C3,{13,11},2))*(LENB(C3)={18,15})),"Y")
或者
=YEAR(TODAY()-IF(LENB(A2)=15,19&MIDB(A2,7,2)&"-"&MIDB(A2,9,2)&"-"&MIDB(A2,11,2),MIDB(A2,7,4)&"-"&MIDB(A2,11,2)&"-"&MIDB(A2,13,2)))
或者
=DATEDIF(--TEXT((MID(C4,7,6+(LEN(C4)=18)*2)),"#-00-00"),TODAY(),"y")
从身份证号中提取性别的公式是:
=CHOOSE(ISODD(MID(A2,15+(LEN(A2)=18)*2,1))+1,"女","男")
注:识别身份证号种类可以用LEN(B)的方式,或者CHOOSE的方式,以上各举一例。
吼吼~~~~~~~~~~~~~~~哪个更麻烦一些?
没办法,谁让中国的身份证号设得麻烦呢?!
作者:
alexgzq
时间:
2007-12-10 17:53
设置单元格格式为特殊格式就行了
作者:
copyzzy
时间:
2007-12-29 10:12
把单元格改成文本最合适!
作者:
livewire
时间:
2007-12-29 10:22
各位高手!我又学了一招,谢谢!
设置为文本就好了。
如果设置为特殊格式-邮政编码的话,后面还是这几零,可能的原因是邮政编码没有这么长。
作者:
austinn123
时间:
2008-1-16 10:28
我是在第6位数后面(也就是地区和生日之间)空一格,一个是方便看,一个是不会变0.呵呵
作者:
yygyalo
时间:
2008-1-17 09:17
先學習一下,不過不記得以前是怎麼解決的!
作者:
新人类
时间:
2008-2-29 13:18
出学者,来学习啦
作者:
lb2ll23
时间:
2008-3-1 08:13
谢谢大家。这下知道了
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3