選單

吊打Vlookup函式,一大堆“包含查詢”函式來了!

Vlookup函式真是一個苦命的Excel孩子,一天天的被這個妙殺、那個吊打。

蘭色也很同情它,可,遇到查詢難題時它真的不爭氣啊。

這不,今天Vlookup又被一群函式鄙視!

昨天一位網友提問:

如下圖所示,根據D列包含的報銷專案,在E列設定公式,從A列查詢並返回B列的報銷型別。

吊打Vlookup函式,一大堆“包含查詢”函式來了!

如果用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函式,一大堆“包含查詢”函式來了!

當你正要為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集配套影片),點我檢視詳情