2156 |
Excel輸入IFERROR為何還是顯示資料呢? |
最近在試學使用MID跟DATEDIF,換算年齡及男女性別,以及加上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),"男","女"),"") 若找不到對應內容傳回錯誤訊息則不填入資料。
留言列表