EXCEL如何根據身份證號碼(有新、老兩種身份證號碼),識別性別和年齡的具體數據。麻煩哪位給個公式。
1、比如身份證號碼在D4,結果在X4,請自動計算年齡,只要年齡的數據哈。rnrn2、另外我要篩選出這樣的結果:rn第一個:男的50歲以上 第二個:男的55rn 女的40歲以上 女的451、計算年齡:
=DATEDIF(TEXT(MID(A1,7,INT((LEN(A1)-2)/2)),IF(LEN(A1)=18,"0000-00-00","1900-00-00")),NOW(),"y")
2、后面空列中輸入:
=IF((DATEDIF(TEXT(19*MOD(LEN(D4),2)&MID(A1,7,7+(-1)^LEN(D4)),"0000-00-00"),TODAY(),"y")>=50)*(MOD(MID(D4,16+(-1)^LEN(D4),1),2)=1)+(DATEDIF(TEXT(19*MOD(LEN(D4),2)&MID(D4,7,7+(-1)^LEN(D4)),"0000-00-00"),TODAY(),"y")>=40)*(MOD(MID(D4,16+(-1)^LEN(A1),1),2)=0),"是","否")
往下拉,即可把符合條件的身份證號碼標為"是",不符合的標為"否",再對B列進行篩選即可。
第二個公式類似,只要把公式中的50和40改成55和45就可以了。
年齡:
=DATEDIF(TEXT(19*(LEN(D4)=15)&MID(D4,7,(LEN(D4)=18)*2+6),"0-00-00"),TODAY(),"y")
第二個問題用自定義篩選,篩選x列的數據即可。
只考慮年份,沒考慮對年對月對日
X4輸入:=IF(LEN(D4)=18,YEAR(TODAY())-VALUE(MID(D4,7,4)),YEAR(TODAY())-VALUE("19"&MID(D4,7,2)))
excel中輸入身份證號,凡男性年齡超過60歲,女性年齡超過50歲,提示錯誤或提示紅字
excel中成批輸入身份證號有男有女,凡男性年齡超過60歲,女性年齡超過50歲,提示錯誤或提示紅字假設身份證號在B列,且從第2行開始
在C2中輸入或復制粘貼此公式
=IF(OR(AND(DATEDIF(TEXT(MID(B2,7,LEN(B2)/2-1),"#-00-00"),TODAY(),"y")<=60,MOD(RIGHT(LEFT(B2,17)),2)=1),AND(DATEDIF(TEXT(MID(B2,7,LEN(B2)/2-1),"#-00-00"),TODAY(),"y")<=55,MOD(RIGHT(LEFT(B2,17)),2)=0)),"","錯誤")
下拉填充
把問題作為內容(郵件主題一定要包含“excel”,本人以此為依據辨別非垃圾郵件,以免誤刪)、excel樣表文件(請特別注意:要03版的(如果是03以后的,把文件“另存為”一下,選擇97-2003),把現狀和目標效果表示出來)作為附件發來看下
[email protected]用條件格式或者數據有效性都可以
條件格式(比如你的身份證號輸入在A1:A1000),選中a1:a1000(從上往下選,否則下面公式要相應改變)——開始——條件格式——新建規則——使用公式,在下面輸入=or(and(mod(--mid(a1,len(a1)-1,1),2)=1,datedif(date(mid(a1,7,4),mid(a1,11,2),mid(a1,13,2)),today(),"y")>60),and(mod(--mid(a1,len(a1)-1,1),2)=0,datedif(date(mid(a1,7,4),mid(a1,11,2),mid(a1,13,2)),today(),"y")>50)),然后在旁邊的格式里面選個背景填充色,這樣只要滿足條件就會用背景色填充。
數據有效性(比如你的身份證號輸入在A1:A1000),選中a1:a1000(從上往下選,否則下面公式要相應改變)——數據——數據有效性——自定義——輸入=not(or(and(mod(--mid(a1,len(a1)-1,1),2)=1,datedif(date(mid(a1,7,4),mid(a1,11,2),mid(a1,13,2)),today(),"y")>60),and(mod(--mid(a1,len(a1)-1,1),2)=0,datedif(date(mid(a1,7,4),mid(a1,11,2),mid(a1,13,2)),today(),"y")>50))),確定即可
對于提問者表示無語!!!
請教高人,18位身份證要用excel提取年齡到60歲時的年月日,公式怎么設?男性是60周歲,女性是50周歲謝謝!
另外還有個執行時間,比如一個女性是1962年9月出生,那么退休年齡是2012年9月,執行時間是2012年10月,用什么公式,感謝啊。。。附圖。。
F2輸入公式
=--text(mid(E2,7,8),"0-00-00")
下拉填充
H2輸入公式
=date(if(D2="男",60,50)+year(F2),month(F2),day(F2))
I2輸入公式
=date(if(D2="男",60,50)+year(F2),month(F2)+1,day(F2))
選擇H2:I2下拉填充
并設置F,H,I列單元格格式---數字---自定義
e"年"m"月"
或
emm
確定
1、提取退休年齡的問題:首先將F列和H列均設為數值格式,然后在F列輸入公式:=mid(e1,7,6),然后H列輸入公式:=F1+600(女性+500,可以簡單地用排序解決,當然也可以設置條件函數)。
2、養老金執行時間公式:將I列設為數值格式,然后輸入公式:=IF(MID(C1,5,2)="12",C1+100-11,C1+1)
H2單元格輸入
=TEXT(EDATE(TEXT(A1,"0000-00"),IF(D2="男",60,50)*12),"yyyymm")
I2輸入
=TEXT(EDATE(TEXT(A1,"0000-00"),IF(D2="男",60,50)*12+1),"yyyymm")
下拉即可。
H2輸入公式
=IF(MOD(MID(E2,17,1),2),TEXT(EDATE(TEXT(MID(E2,7,8),"0-00-00"),60*12),"e-m-d"),TEXT(EDATE(TEXT(MID(e2,7,8),"0-00-00"),50*12),"e-m-d"))
下拉公式
EXCEL 怎么從身份證號碼中篩選出截止2010年12月31日為止60歲以下的男人和50歲以下的女人
如果18位身份證號在A1開始往下, 找個單元格比如C1輸入
=IF(MOD(MID(A1,15,3),2)=1,IF(VALUE(MID(A1,7,8))<19500101,"","男小于60歲"),IF(VALUE(MID(A1,7,8))<19600101,"","女小于50歲"))
然后下拉即可。
60歲以下的男人和50歲以下的女人 數據對應的公式會有提示,然后篩選即可
假定A列為身份證號碼
篩選出截止2010年12月31日60歲以下的男人和50歲以下的女人的身份證號碼保存在D列
D2公式:=IF(DATEDIF(TEXT(IF(LEN(A2)=15,19&MID(A2,7,6),MID(A2,7,8)),"#-00-00"),"2010-12-31","Y")-MOD(MID(A2,14,4),2)*10>50,"",A2)
向下填充
-----------------
效果:
A列 D列
310102194207090011
310102440709002
310102460709003
310102194807090041
310102195007090051 310102195007090051
310102520709006
310102540709007 310102540709007
310102195607090081
310102195807090091 310102195807090091
310102600709010 310102600709010
310102620709011 310102620709011
310102196407090121 310102196407090121
310102196607090131 310102196607090131
310102680709014 310102680709014
310102700709015 310102700709015
310102197207090161 310102197207090161
310102740709017 310102740709017
310102197607090181 310102197607090181
加輔助列輕松解決,把問題作為內容(郵件主題一定要包含“excel”)、excel樣表文件(請特別注意:要03版的,把現狀和目標效果表示出來)作為附件發來看下
[email protected]用一輔助列輸入公式:=DATEDIF(--TEXT(MID(A2,7,11)-500,"0-00-00,"),"2010-12-31","y")
可計算所有人的年齡,再篩選。
在EXCEL表格中怎樣根據身份證號篩選出截至2011年1月1日男滿60周歲女滿50周歲的人身份證號碼有15位的有18位
B1中輸入:
=IF((DATEDIF(TEXT(19*MOD(LEN(A1),2)&MID(A1,7,7+(-1)^LEN(A1)),"0000-00-00"),“2011-1-1”,"y")>=60)*(ISODD(MID(A1,16+(-1)^LEN(A1),1)))+(DATEDIF(TEXT(19*MOD(LEN(A1),2)&MID(A1,7,7+(-1)^LEN(A1)),"0000-00-00"),“2011-1-1”,"y")>=50)*(ISEVEN(MID(A1,16+(-1)^LEN(A1),1))),"是","否")
往下拉,即可把符合條件的身份證號碼標為"是",不符合的標為"否",再對B列進行篩選即可。
假如身份證號碼在a列,從第2行開始,那么可以在后面空列中輸入:
=datedif(text(mid(a2,7,int(len(a2)/2-1)),"#-00-00"),“2011-1-1”,"y")
往下復制公式。
完成后再對該列進行篩選,篩選>=60的就可以了。
以上公式對15位18位號碼都適用。
相關推薦:
電子合同糾紛解決(簽電子合同糾紛怎么解決)
現戶籍所在地怎么填寫(戶籍所在地怎么填寫)
超生新生兒如何上戶(超生如何給孩子上戶口)
行政處罰會留案底嗎(行政處罰決定書會留案底嗎)
公民如何保護生命健康權(法律如何保護我們的健康)