以往,你使用 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」,是指定遞增排序的二分搜尋法,所以在下圖右的範例中,因為原始資料中的「編號」欄位沒有先排序,導致無法正確查詢到資料。

Excel-使用XLOOKUP函數在大量資料中利用二分搜尋法加快搜尋速度、搭配萬元字元進行模糊搜尋

 

使用 XLOOKUP 函數查詢時,也可以使用「萬用字元」進行模糊搜尋。例如:

儲存格E9:=XLOOKUP(E5&"*",B5:B26,B5:B26,"無資料",2,-1)

使用萬用字元「E5&"*"」,用以找尋姓名第一個字為「李」者。

在 match_mode 中想要使用萬用字元來搜尋,則使用參數「2」。

Excel-使用XLOOKUP函數在大量資料中利用二分搜尋法加快搜尋速度、搭配萬元字元進行模糊搜尋

【參考資料】

 XLOOKUP 函數參考微軟提供的說明:XLOOKUP 函數
【延伸學習】
 

學不完.教不停.用不盡文章列表

arrow
arrow
    文章標籤
    Excel XLOOKUP
    全站熱搜

    vincent 發表在 痞客邦 留言(0) 人氣()