當前位置: 妍妍網 > 辦公

Vlookup完美謝幕,介紹一下強大的繼任者Xlookup函式

2024-06-29辦公


XLOOKUP 這個函式本身是有一點難度,有6個參數,這固然使函式具備了強大功能,但也讓一些初學者望而卻步。今天就透過一些我們平時常見的案例,來和大家一起了解XLOOKUP的基本用法。

XLOOKUP函式的基本結構是:

=XLOOKUP(lookup_value,lookup_array,return_array,[if_not_found],[match_mode],[search_mode])

轉譯成大白話就是:

=XLOOKUP(尋找值,尋找範圍,結果範圍,[找不到時顯示的值],[匹配方式],[查詢模式])

在這六個參數中,前三個是必須的,後面三個根據自己的需要選擇使用。

範例1:常規匹配(對標LOOKUP)

按照姓名匹配入職日期,公式為 =XLOOKUP(G2,B:B,C:C)

這種用法和LOOKUP的使用結構非常像,但是有本質的區別。LOOKUP函式要求尋找範圍必須升序排列,而XLOOKUP則無此限制。就這個問題使用LOOKUP的結果如圖所示:

再比如按姓名匹配員工ID,這在VLOOKUP的用法中叫反向尋找,XLOOKUP還是一樣的用法,公式為 =XLOOKUP(G2,B:B,A:A)

這是給大家介紹的第一種用法, XLOOKUP(尋找值,尋找範圍,結果範圍) 沒有順序要求,沒有方向要求 ,這體驗一下子就超過了VLOOKUP和LOOKUP。

範例2:一次尋找多個值(陣列用法)

如果XLOOKUP的第一參數選擇一個單元格區域,可以對應得到多個結果。在Excel365中更容易看到這種陣列自動擴充套件的效果。

在此提醒那些用VLOOKUP時,第一參數習慣選一列的朋友,如果你這樣用XLOOKUP的話,電腦能卡死!

XLOOKUP的這種特性非常重要,比如要統計某幾個人的崗位津貼總和,就可以直接用公式 =SUM(XLOOKUP(F2:F5,A:A,D:D)) 得到結果,這個公式非365使用者需要按 Ctrl+Shift+Enter 三鍵。

範例3:第四參數的妙用

來看這個例子,按照姓名找對應的成績,當出現資料來源中不存在的姓名是,結果為#N/A。

通常遇到這種情況我們的第一反應是外面巢狀一個IFERROR函式,實際上XLOOKUP的第四參數就可以取代IFERROR函式了。

公式修改為 =XLOOKUP(D2,A:A,B:B,"姓名有誤")

對於這個參數,我想大家都很容易掌握,畢竟使用一個參數就能少巢狀一個函式,這是非常好的體驗。

範例4:多樣的匹配方式

XLOOKUP提供了四種匹配方式。

從函式內建的提示不難看出四種匹配方式的意思。0或者省略是精確匹配,之前的例子都是這種方式。-1是精確匹配或下一個較小的項,例如按照成績匹配等級,可以使用公式 =XLOOKUP(B2,F:F,G:G,"",-1)

這個公式的意思是在F列中找52,找不到的時候就找小於52的一個值,也就是0,最後得到的結果就是0所對應的等級。如果就這樣看的話,似乎用LOOKUP更簡單。

但是LOOKUP要求尋找範圍升序,假如數據變成這樣,結果就全錯了。

可以看出XLOOKUP函式完全不受順序的影響,LOOKUP則多了一些限制。

如果匹配方式用1的話則正好相反,找不到要找的值時,則會找較大的一個值。例如公式 =XLOOKUP(B2,F:F,G:G,"",1) 就會得到這樣的結果。

從這個例子可以看出,在做區間匹配時,-1對應下限值,1對應上限值。

範例5:使用通配符

有時候在匹配數據時會用到通配符,例如根據單位檢查匹配對應的業務人員,公式為 =XLOOKUP("*"&D2&"*",A:A,B:B,"無對應人員",2)

XLOOKUP函式預設不支持通配符的,如果要用通配符,第五參數必須填2,這也是XLOOKUP函式的一個特殊之處。

範例6:多種查詢方式

查詢方式和匹配方式是不一樣的概念,XLOOKUP提供了四種查詢方式:

查詢方式1是從上向下,預設的也是這種方式。查詢方式-1是從下向上,如果要尋找的值是唯一的,那麽這兩種方式得到的結果是一樣的,但是當要尋找的值有多個的時,兩種方式的區別就出現了。

例如公式 =XLOOKUP(E2,B:B,C:C,"",0,1) 得到的就是每個人的首日銷量。

而公式 =XLOOKUP(E2,B:B,C:C,"",0,-1) 得到的則是每個人的末日銷量。

這兩種查詢方式都是遍歷法原理,只是查詢方向的區別,而查詢方式2和-2,則用的是二分法原理,區別就是二分法的時候預設升序還是降序。

範例7:橫向匹配和多列匹配

橫向尋找之前多是用HLOOKUP函式來解決,現在也可以用XLOOKUP,只要尋找範圍和結果範圍是橫向的就行。例如公式 =XLOOKUP(B6,1:1,2:2) 就是橫向尋找的結果。

在沒有XLOOKUP的時候,我們使用VLOOKUP做多列匹配往往要用到COLUMN函式,現在就方便了,只要將結果區域選擇多列即可,註意這種用法只能對連續的多列匹配適用。

以上就是XLOOKUP函式的基本用法,功能確實很多也很強大,希望有條件的夥伴能夠趕緊練起來,在你使用的過程中有什麽心得也歡迎留言和大家分享。

最後是給大家的福利課程, 免費學習 Excel函式、AI人工智慧等等課程,大家掃碼領取!