close

2156

Excel輸入IFERROR為何還是顯示資料呢?

最近在試學使用MIDDATEDIF,換算年齡及男女性別,以及加上IFERROR,讓沒有輸入資料的儲存格呈現空白,但是在身份證號碼這邊卡關了!為何沒有輸入,明明打上IFERROR,卻還是顯示資料呢?

這是因為就算是身份證字號欄位無資料,MID還是會傳回無資料,對IF函數來說其判斷為FALSE,故會顯示

這個公式應改為

=IFERROR(IF(MID(E2,2,1)="","",IF(MID(E2,2,1)="1","","")),"")

【公式說明】

MID(E2,2,1)="" 傳回E2儲存格第2個字元是否為空白。

MID(E2,2,1)="1" 傳回E2儲存格第2個字元是否為1

IF(MID(E2,2,1)="1","","") 如果E2儲存格為1,則填入男,否則填入女。

IF(MID(E2,2,1)="","",IF(MID(E2,2,1)="1","","")) 如果E2儲存格為空格,則不填入資料,否則若E2儲存格第2個字元是否為1,則填入男,否則填入女。

IFERROR(IF(MID(E2,2,1)="","",IF(MID(E2,2,1)="1","","")),"") 如果傳回錯誤值則不填入資料。

 

公式也可改為

=IFERROR(CHOOSE(MID(E2,2,1),"",""),"")

 

【公式說明】

CHOOSE(MID(E2,2,1),"","") 傳回E2儲存格第2個字元數值N,對應到的第N個參數內容。

CHOOSE(索引值,參數1,參數2…參數254)

IFERROR(CHOOSE(MID(E2,2,1),"",""),"") 若找不到對應內容傳回錯誤訊息則不填入資料。


arrow
arrow

    錦子老師 發表在 痞客邦 留言(0) 人氣()