EXCEL函數公式系列教學-自動處理員工信息(6):練習解答和IF嵌套

EXCEL函數公式系列教學-自動處理員工信息(6):練習解答和IF嵌套

上一個視頻我們給出了一個練習,請大家考慮如果是15位的身份證怎麼處理。

今天我們給出詳細的解答,並介紹嵌套IF公式的應用。

還是之前的例子,15位的身份證號使用處理18位數字身份證會出錯。現在我們來修改。

首先我們需要判斷一下身份證的長度是多少位,這裡使用字符串函數Len,它可以返回指定字符串的具體長度,現在我們輸入公式:

=if(len(b5)=18,

如果身份證是18位,那麼第一個參數就可以直接使用原來的18位公式,所以這裡我們直接使用 Date mid b5 7 4 mid b5 11 2 mid b5 13 2,

第二個參數是當邏輯條件不為18時的判斷,我們認為此時就是15位身份證號。15位身份號的年份是2位,都是2000年以前,所以我們可以用字符串 19 和身份證號取出的數字拼接

繼續輸入 date “19” &, & 符號是表示這裡是字符串相加,即兩個字符串合在一起, mid b5 7 2, 這裡只需要取2位了, 然後後面取字符串的位置也會相應變化,我們輸入 mid b5 9 2 mid b5 11 2 括號,結束

完整的公式如下:

=if(len(b5)=18,date(mid(b5,7,4),mid(b5,11,2),mid(b5,13,2)),date("19" & mid(b5,7,2),mid(b5,9,2),mid(b5,11,2)))

好了,現在可以看到15位的號碼也被取出了。將這個公式拷貝到上面,18位的身份證也可以正常工作。

但是,如果將這個公式拷貝到下面,結果又出錯了,因為B6單元格里的字符串,既不是18位,也不是15位。是一個錯誤的身份證號碼。

所以我們回到剛才的單元格,對公式進行修改

第二個參數,不再假設單元格是15位了,而是增加一個IF條件判斷,輸入

if len b5 = 15 date 19 & mid b5 7 2 mid b5 9 2 mid b5 11 2 然後第二個參數就是表示當單元格里的字符串既不是15,也不是18時,我們直接輸入字符串:身份證號錯誤。

完整的公式:

=if(len(b5)=18,date(mid(b5,7,4),mid(b5,11,2),mid(b5,13,2)),if(len(b5)=15,date("19" & mid(b5,7,2),mid(b5,9,2),mid(b5,11,2)),"身份證號碼錯誤"))

同樣的道理,我們可以完成年齡,和性別的IF嵌套公式。這個就留給大家自己練習了。

IF嵌套公式可以幫助完成更復雜的任務,但是同時也極大地提升了公式維護的複雜度。特別是函數的括號層數,特別容易出錯,使用時請注意。

EXCEL函數公式系列教學-自動處理員工信息(6):練習解答和IF嵌套


分享到:


相關文章: