Vlookup函式真是一個苦命的Excel孩子,一天天的被這個妙殺、那個吊打。
蘭色也很同情它,可,遇到查詢難題時它真的不爭氣啊。
這不,今天Vlookup又被一群函式鄙視!
昨天一位網友提問:
如下圖所示,根據D列包含的報銷專案,在E列設定公式,從A列查詢並返回B列的報銷型別。
如果用Vlookup函式,公式可以寫為:
=IFNA(VLOOKUP(,IF(,-FIND($A$2:$A$4,D2),$B$2:$B$4),2),“錯誤”)
公式說明:
用find在D2單元格中逐一查詢包含A列哪個專案,查詢到的返回一個數字,查詢不到返回錯誤值。find前新增-號可以把查詢結果變為負值。
IF(把查詢的結果和B列型別合併為一個新的兩列陣列
Vlookup的匹配查詢(省略最後一個引數),可以用0(第一個引數為0時可以省略)查詢到負數並返回第2列的值。
當你正要為Vlookup拍手叫好時,隨後的幾個公式卻瞬間吊打它。
lookup函式
=IFNA(LOOKUP(,-FIND(A$2:A$4,D2),B$2:B$4),“錯誤”)
index+match函式
=IFNA(INDEX(B:B,MATCH(,-FIND($A$2:A$4,D2),1)),“錯誤”)
Xlookup函式(office365函式)
=XLOOKUP(0,-FIND(A$2:A$4,D2),B$2:B$4,“錯誤”,-1)
Filter函式(office365函式)
=FILTER(B$2:B$4,ISNUMBER(FIND(A$2:A$4,D2)), “錯誤”)
從上面幾個公式可以看出Xlookup函式最為簡單,連遮蔽錯誤值的函式IFNA都省了。但office365之前的版本,還是lookup公式最短,它依舊是老版本的查詢之王。
蘭色說:有同學會說,Vlookup天天被吊打,但工作中還是天天在用它。原因是Vlookup在查詢速度上優於lookup。但遇到複雜的查詢,Vlookup都可以實現,但要複雜很多。
工作中最常用的Excel函式公式,全印在一張超大的滑鼠墊上(送40集配套影片),點我檢視詳情