直播中
本例涉及到的excel函數(shù)如下:
1、date(year,month,day)
2、if(logical,value_if_true,value_if_false)
3、len(text)
4、mid(text,start_num,num_chars)
5、mod(number,divisor)
在這里,我們假定身份證號碼保存在c列(從c2單元格開始)中,性別和出生年、月、日分別保存在d列和e列中。
一、性別的判斷
選中d2單元格,輸入公式:
=if(mod(if(len(c2)=15,mid(c2,15,1),mid(c2,17,1)),2)=0,"女","男")
或
=if(mod(if(len(c7)=15,mid(c7,15,1),mid(c7,17,1)),2)=1,"男","女"),
輸入完成后,按下“enter”鍵進行確認,第1位持證人的性別則自動顯示在d2單元格中(如圖1)。
上述第一個公式的含義分三層來理解:
?、偃绻矸葑C號碼是15位(len(c2)=15),則取其15位數(shù)字(mid(c2,15,1)),否則取其17位數(shù)字(mid(c2,17,1))。
②然后求取出來的數(shù)值除2后的余數(shù)(mod(if(len(c2)=15,mid(c2,15,1),mid(c2,17,1)),2))。
③如果(if)余數(shù)為“0”(mod(if(len(c2)=15,mid(c2,15,1),mid(c2,17,1)),2)=0),則顯示“女”,否則顯示“男”。
再次選中d2單元格,用“填充柄”將上述公式復制到d列下面的單元格中,即可顯示出其他持證人的性別。
注意:如果將上述公式修改為:=if(if(len(c2)=15,mid(c2,15,1),if(len(c2)=18,mid(c2,17,1),""))="","號碼有錯",if(mod(if(len(c2)=15,mid(c2,15,1),if(len(c2)=18,mid(c2,17,1),"")),2)=1,"男","女")),當輸入的號碼不是15位或18位,系統(tǒng)提示“號碼有錯”(參見圖1),則效果更佳。
注意:修改后的公式與上面的公式含義相似。
[page]二、顯示出生年、月、日
選中e2單元格,輸入公式:=if(len(c2)=15,date(mid(c2,7,2),mid(c2,9,2),mid(c2,11,2)),date(mid(c2,7,4),mid(c2,11,2),mid(c2,13,2))),輸入完成后,按下“enter”鍵進行確認,第1位持證人的出生年、月、日則自動顯示在e2單元格中(參見圖1)。
上述公式的含義如下:
如果(if)身份證號碼是15位(len(c2)=15),則取其7至8位(mid(c2,7,2))、9至10位(mid(c2,9,2))、11至12位(mid(c2,11,2)),并以日期的格式顯示出來(date(mid(c2,7,2),mid(c2,9,2),mid(c2,11,2)));
反之,取其7至10位(mid(c2,7,4))、11至12位(mid(c2,11,2))、13至14位(mid(c2,13,2)),再以日期的格式顯示出來(date(mid(c2,7,4),mid(c2,11,2),mid(c2,13,2)))。
再次選中e2單元格,用“填充柄”將上述公式復制到e列下面的單元格中,即可顯示出其他持證人的出生年、月、日。
選中e列中含有日期的單元格區(qū)域,執(zhí)行“格式→單元格”命令,打開“單元格格式”對話框(如圖2),切換到“格式”標簽中(通常是默認的標簽),先在“格式類別”下面選中“日期”選項,然后在“示例”下面選中一種適合國人習慣的日期樣式,確定返回。
注意:①如果不設置單元格格式,也是完全可以的,只不過顯示出來的日期樣式是“1976-12-17”。
②如果將上述公式修改為:=if(len(c2)=15,date(mid(c2,7,2),mid(c2,9,2),mid(c2,11,2)),if(len(c2)=18,date(mid(c2,7,4),mid(c2,11,2),mid(c2,13,2)),"號碼有錯")),當輸入的號碼不是15位或18位,系統(tǒng)提示“號碼有錯”(參見圖1),則效果更佳。