Excel Vlookup函數第四個關鍵參數該用TRUE(1)還是FALSE(0)?
前篇文章介紹Vlookup函數
TRUE(1), FALSE(0)參數的用法
可不是隨心所欲
FALSE隨你愛加不加
該加未加,
會有非常意外的搜尋結果
現在再示範一下Vlookup函數的用法:
晉級名單中有
龍一,龍二,龍三
三個人
要搜尋五個人
那些人有順利晉級
使用Vlooup函數如下
=VLOOKUP(D2,$A:$B,2,FALSE)
龍一,龍二,龍三
因為有在晉級名單中
顯示已晉級
龍四,龍五未在晉級名單中
顯示#N/A
其實就是未晉級的意思
如果是自己要看而已
這樣已經區分出
已晉級跟未晉級的人員
但#N/A是否太怪了?
能不能顯示成未晉級?
我們要用ISERROR函數
包住左方的Vlookup函數
用分解動作,
帶你完成到最後結果
右方再多一欄公式
=ISERROR(VLOOKUP(D2,$A:$B,2,FALSE))
如果Vlookup搜尋結果是#N/A
ISERROR函數會回傳TRUE
再用IF函數
IF ISERROR函數= TRUE, 顯示字串”未晉級” ,否則顯示”已晉級”
函數如下:
=IF(ISERROR(VLOOKUP(D2,$A:$B,2,FALSE))=TRUE,”未晉級”,”已晉級”)
順利將原本的#N/A變成”未晉級”
公式最末的”已晉級”
當然可以用
VLOOKUP(D6,$A:$B,2,FALSE)
替代
這個Vlookup函數若有搜尋到結果
(ISERROR函數 = FALSE)
本來就會顯示”已晉級”
函數就變得更長
=IF(ISERROR(VLOOKUP(D2,$A:$B,2,FALSE))=TRUE,”未晉級”,VLOOKUP(D2,$A:$B,2,FALSE))
但分解動作下
應該可以理解
這麼長的函數意義
若參考表格第二欄不是單一文字
例如:
龍一 金牌
龍二 銀牌
龍三 銅牌
當然也就只能用最後最長的函數
=IF(ISERROR(VLOOKUP(D2,$A:$B,2,FALSE))=TRUE,”未晉級”,VLOOKUP(D2,$A:$B,2,FALSE))
IF ISERROR()=TURE,……
這段使用了
IF, ISERROR兩個函數
可以濃縮成一個
IFERROR函數取代
=IFERROR(VLOOKUP(D2,$A:$B,2,FALSE),”未晉級”)
如果Vlookup函數沒搜尋錯誤,
顯示Vlookup的值
如果搜尋錯誤,顯示”未晉級”
If ISNA()=TRUE,….
跟IFNA
也可以作出一樣的效果
=IF(ISNA(VLOOKUP(D2,$A:$B,2,FALSE))=TRUE,”未晉級”,VLOOKUP(D2,$A:$B,2,FALSE))
(IF函數中的 =TRUE可省略,不省略可讀性比較高)
=IFNA(VLOOKUP(D2,$A:$B,2,FALSE),”未晉級”)