2019年微軟正式推出了Xlookup函式,我們可以把它看做是vlookup的升級版。Xlookup彌補了vlookup的諸多不足,可以說是現階段最強大的查詢函式。不少人都表示說:用了30幾年的vlookup終於可以功成身退了!
但是比較遺憾的是當時僅僅只有office365才可以使用這個函式,以至於人們對其知之甚少,但是最近WPS也更新了xlookup函式,我覺得現在是時候來學習下這個強大的查詢函數了
Xlookup作用與引數
Xlookup:搜尋資料資料區域中的值,然後返回找到的第一個匹配結果。
語法:=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])
第一引數(必須引數):lookup_value,想要查詢值
第二引數(必須引數):lookup_array,想要在那個資料區域中查詢
第三引數(必須引數):return_array,要返回的資料區域,就是結果所在的區域
第四引數(可選引數):if_not_found,找不到結果,就返回第四引數,如果省略第四引數函式預設返回#N/A這個錯誤值
第五引數(可選引數):match_mode,指定匹配型別
引數為:0 ,精確匹配,未找到結果,返回 #N/A。 這是預設選項。
引數為:-1,近似匹配,未找到結果,返回下一個較小的項。
引數為:1,近似匹配,未找到結果,返回下一個較大的項。
引數為:2 ,萬用字元匹配
第六引數(可選引數):search_mode, 指定要使用的搜尋模式
引數為:1,從第一項開始執行搜尋。 這是預設選項。
引數為:-1,從最後一項開始執行反向搜尋。
引數為:2,根據 lookup_array 按升序排序的二進位制搜尋。 如果未排序,將返回無效結果。
引數為:-2,根據lookup_array 按降序排序的二進位制搜尋。 如果未排序,將返回無效結果。
以上就是xlookup的所有引數,雖然比較多,但是使用起來卻非常方便,下面我們就透過實際的例子 來學習下這個函式
一、普通查詢
如下圖所示,在這裡我們想要查詢魯班的語文成績,只需要將公式設定為:=XLOOKUP(H2,A1:A9,C1:C9)就能找到正確的結果,在這裡我們需要注意的是前三個引數是必須引數,後三個引數是可選引數,也就是說前三個引數必須填寫,後三個引數可以選擇性填寫,在普通查詢中,一般將其省略即可
二、遮蔽錯誤值
Xlookup函式的第四引數可以遮蔽錯誤值,這樣的話就不必再巢狀IFERROR函式來遮蔽錯誤值了。
比如在這裡我們想要查詢孫悟空的語文成績,在資料表中是沒有孫悟空的,函式就會返回#N/A這個錯誤值,但是我們只需要將公式設定為:=XLOOKUP(H7,A1:A9,C1:C9,"")函式就會將錯誤值遮蔽掉,在這裡兩個雙引號就表示空值
如果你將第四引數設定為:"找不到結果"函式的結果就會返回找不到結果
三、橫向查詢
在之前想要進行橫向查詢,就需要使用hlookup這個函式,現在xlookup也具備了橫向查詢的功能,只需要將公式設定為:=XLOOKUP(A10,A1:I1,A3:I3)即可
透過這個例子需要強調一點的是:第一引數與第二引數的方向與個數都需要一一 對應,否則的話函式也將返回錯誤值。
四、萬用字元查詢
透過函式介紹可以知道,我們只需要將xlookup的第五引數設定為2就能進行萬用字元查詢,所謂的萬用字元就是可以代表任意字元的符號,常用的有2個
?:代表任意單個字元
*:代表任意多個字元
使用這個特性,我們可以利用xlookup實現透過關鍵字查詢資料的效果,比如在這裡我們將查詢值設定為*白,然後只需要將公式設定為:=XLOOKUP(H2,A1:A9,C1:C9,,2)就可以找到李白的語文成績。
五、反向查詢
所謂的反向查詢就是查詢左側的資料,但是Vlookup是不能查詢左側資料的,所以在進行反向查詢的時候我們需要使用利用IF{1,0}來構建二維陣列,但是xlookup不存在這樣的情況,它是可以查詢左側資料的。
比如在這裡,我們想要透過工號查詢姓名,只需要將函式設定為:=XLOOKUP(H2,B1:B9,A1:A9),就可以找到姓名,非常的簡單
六、多條件查詢
Xlookup函式進行多條件查詢也非常的簡單,只需要利用連線符號將查詢值與查詢區域連線起來即可
如下圖,張飛是存在重名的,在這裡我們想要查詢2班張飛的語文成績,只需要將公式設定為:=XLOOKUP(G2&H2,A1:A9&B1:B9,C1:C9)即可找到正確的結果,在這裡就是使用連線符號將姓名與班級連線在一起來查詢的
七、查詢多列資料
Xlookup函式可以實現設定一次函式,自動查詢多列資料的效果,但是有一個缺點:結果列在資料表中必須是連續的。
如下圖所示,我們想要查詢他們的成績,只需要在G2單元格中輸入公式:=XLOOKUP(F2,A1:A8,B1:D8)後面的資料就會自動顯示,需要注意的是我們需要在G2單元格中向下填充公式.
在這裡我們需要明白1點,xlookup返回的結果個數,是由第三引數的列數決定的,在這裡我們選擇了3列資料,所以函式就會返回3個結果。
八、查詢最後一次時間
這個用處不大,主要是為了說明xlookup可以自定義查詢方向。Vlookup函式只能從上往下查詢資料,而xlookup可以透過設定第六引數實現從下往上查詢資料。
比如在這裡我們想要求資料最後一次出現的時間,首先我們需要將資料進行升序排序,隨後只需要將公式設定為:=XLOOKUP(D2,A1:A25,B1:B25,,,-1)即可,在這裡是將第四第五引數直接忽略掉了,直接將第六引數設定為-1
我們需要注意的是:當使用xlookup查詢資料遇到重複,函式也僅僅只能返回第一個找到的結果,這點與vlookup一致
以上就是今天分享的全部內容了,xlookup函式的作用還有很多,總之就是vlookup能做的它都能做,vlookup不能做的它還能做,相信在不久的將來它一定能取代vlookup,引領下一個30年
(此處已新增圈子卡片,請到今日頭條客戶端檢視)