以往,你使用 Excel 中 VLOOKUP 的經驗,都是以資料第一個欄位為準,再求其對應的欄位回傳找到的內容。使用上有其限制而造成不便。而 Excel 2019 之後版本的 XLOOKUP 函數足以取代 VLOOKUP 和 HLOOKUP 的功能。
XLOOKUP 函數已經成為了一個極為強大且易於使用的工具,可以有效地替代傳統的 VLOOKUP 函數。這項改進不僅使搜尋和查找資料變得更加便捷,還為使用者提供了更多的彈性和控制。
相較於 VLOOKUP 函數,XLOOKUP 函數的優勢在於其靈活性和功能豐富性。你可以輕鬆地指定多個搜尋條件,進行精確的查找,並且能夠處理不同大小的資料範圍。此外,XLOOKUP 函數還支援在錯誤情況下返回自定義的結果,大大提升了處理例外情況的能力。當你需要處理大量搜尋資料時,常見的情況是搜尋所需的時間也會隨之增加。然而,如果你渴望縮短這段搜尋時間,可以藉由指定 XLOOKUP 函數運用二分搜尋法(BINARY)來加速搜尋過程。
XLOOKUP 函數提供了從頭部或尾部開始搜尋的選項,同時也支援遞增或遞減的二分搜尋法。這種方法在資料量大的情況下尤其有效,因為使用二分搜尋能夠迅速找到所需資料,並大幅縮短搜尋所需時間。然而,在使用二分搜尋前,你需要確保原始資料已經按遞增或遞減排序。
XLOOKUP 函數的這些功能不僅能夠加速搜尋過程,還能在大型資料集中提高效率。這種方法的運用能夠幫助你更快地找到所需資料,特別是在處理龐大資料量時,而前提是你的資料必須事先經過適當的排序。這將有助於優化你的資料處理流程,並在處理大數據時保持高效率。
例如,根據 XLOOKUP 的語法:
=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])
儲存格E9:=XLOOKUP(K5,G5:G26,I5:I26,"無資料",0,2)
if_not_found 的參數「無資料」,在找不到資料時可以使用客製化的文字來呈現。
search_mode 的參數「2」,是指定遞增排序的二分搜尋法,所以在下圖右的範例中,因為原始資料中的「編號」欄位沒有先排序,導致無法正確查詢到資料。
使用 XLOOKUP 函數查詢時,也可以使用「萬用字元」進行模糊搜尋。例如:
儲存格E9:=XLOOKUP(E5&"*",B5:B26,B5:B26,"無資料",2,-1)
使用萬用字元「E5&"*"」,用以找尋姓名第一個字為「李」者。
在 match_mode 中想要使用萬用字元來搜尋,則使用參數「2」。
【參考資料】
![](https://imageproxy.pixnet.cc/imgproxy?url=https://pic.pimg.tw/isvincent/1654417637-1933265109-g.png&width=16)