Excel LOOKUP VLOOKUP 差異:用銷售級距看懂查找函數

Excel LOOKUP VLOOKUP 差異,核心在於 LOOKUP 可以分開指定查找範圍與結果範圍,VLOOKUP 則必須從查表範圍最左欄往右回傳資料。這個差異在單純的資料對照時不容易感覺出來,但只要遇到「查找值不一定剛好出現在表格中」的情境,例如業績獎金級距判斷,兩者的限制就會立刻浮現。

本文以銷售獎金級距為例,示範 VLOOKUP 精準比對為什麼會找不到、近似比對如何判斷門檻、LOOKUP 如何分開指定查找欄與結果欄,最後補充 XLOOKUP 的新版寫法,幫助讀者判斷不同查找函數適合用在哪些情境。文章中會特別說明同一組資料為什麼有時排成「等級|獎金基礎」,有時又排成「獎金基礎|等級」,這不是排版不一致,而是刻意用來對照不同函數的限制。

Excel LOOKUP VLOOKUP 差異:用銷售級距看懂查找函數
Youtube video

一、Excel LOOKUP VLOOKUP 差異:先看銷售級距案例

Excel LOOKUP VLOOKUP 差異,在銷售級距這類案例中特別明顯,因為查找值不一定會剛好出現在對照表中。假設台北公司為每位業務設定銷售獎金提成制度,依照當月銷售額決定當月獎金的計算基礎,有達到門檻者才能提升獎金計算基礎,對照表如下:等級 L0 對應獎金基礎 0,L1 對應 10,000,L2 對應 20,000,一路到 L5 對應 50,000。這張表格本身很單純,但接下來要處理的問題是,如果當月銷售額是 5,000 元或 15,000 元,這種不在門檻上的數字,該怎麼判斷等級。

這正是這篇文章要拆解的核心:不是每個銷售額都要精準出現在表格中,而是要找出「小於或等於銷售額的最高門檻」。例如 5,000 元仍是 L0,15,000 元仍是 L1,55,000 元仍是 L5。後面會用同一組資料,依序比較 VLOOKUP、LOOKUP 與 XLOOKUP 在這種級距判斷上的寫法與限制。

一、Excel LOOKUP VLOOKUP 差異:先看銷售級距案例
一、Excel LOOKUP VLOOKUP 差異:先看銷售級距案例 2

二、VLOOKUP 精準比對與近似比對:為什麼會出現 #N/A

VLOOKUP 函數的比對方式,取決於最後一個參數。公式 =VLOOKUP(D2,B:B,1,0) 最後一個參數是 0,代表完全相符,因此當月銷售額如果是 5,000、15,000、25,000 這種不在清單中的數字,就會出現「#N/A」,畫面上會用「找不到?」標示;只有 10,000、20,000 這種剛好對到門檻值的數字,才會回傳正確結果,畫面標示為「剛剛好」。這說明 VLOOKUP 預設的完全相符模式,並不適合用來做級距判斷。

把最後一個參數改成 1,公式變成 =VLOOKUP(D2,B:B,1,1),「函數引數」對話框中「Range_lookup」欄位顯示為 1,等於 TRUE,對話框下方也說明「為邏輯值:TRUE 或省略表示找出欄中最接近的值(以遞增順序排序);FALSE 表示僅尋找完全符合的值」。改成近似比對之後,15,000 會找到 10,000,25,000 會找到 20,000,級距判斷終於成立。

這裡還有一個重要前提:近似比對要正確運作,查找欄必須事先由小到大排序,否則 VLOOKUP 可能會回傳錯誤的門檻值。如果實務上只是想讓找不到資料時不要顯示錯誤值,可以另外搭配 Iferror Vlookup 用法,把 #N/A 轉成空白或自訂提示文字。

二、VLOOKUP 精準比對與近似比對:為什麼會出現 #N/A
二、VLOOKUP 精準比對與近似比對:為什麼會出現 #N/A 2
二、VLOOKUP 精準比對與近似比對:為什麼會出現 #N/A 3

三、VLOOKUP 限制:查找欄必須放在最左邊

VLOOKUP 函數還有一個結構上的限制:查找欄必須是查表範圍的第一欄,結果只能從查找欄右邊的欄位回傳。如果原本的表格是「等級在左、獎金基礎在右」,VLOOKUP 沒辦法直接用獎金基礎去查、再回傳左邊的等級。因此這張截圖把表格欄位對調,改成「獎金基礎在左、等級在右」,才能寫出 =VLOOKUP(D2,A:B,2,1),用獎金基礎查找、回傳右邊欄位的等級。

這個限制正好是全文的轉折點:VLOOKUP 可以做級距判斷,但表格欄位方向必須配合它,查找欄一定要放在最左邊。如果不想調整原本的表格排列,LOOKUP 反而可以更自然地處理「等級在左、獎金基礎在右」的方向,這也是下一節要說明的重點。

三、VLOOKUP 限制:查找欄必須放在最左邊
三、VLOOKUP 限制:查找欄必須放在最左邊 2

四、LOOKUP 函數用法:兩引數與三引數差異

LOOKUP 函數有兩種常見寫法,差別在於引數的數量。兩引數寫法是 =LOOKUP(D3,$B$2:$B$7),這裡以 10,000 這一列示範,公式只指定查找值與查找範圍,因此回傳的仍然是查找範圍中的門檻值本身,也就是獎金基礎,而不是等級。這種寫法可以用來確認查找值落在哪一個門檻,但還不能直接得到「L1」這種等級結果。

三引數寫法則是 =LOOKUP(D2,$B$2:$B$7,$A$2:$A$7),多指定了一個結果範圍,可以從 B 欄的獎金基礎查找,再回傳 A 欄對應的等級。這是這篇文章的核心公式,因為它不需要調整原本表格「等級在左、獎金基礎在右」的排列方向,就能同時完成查找與回傳兩件事。

這節最後可以補充:LOOKUP 三引數模式最適合用來處理「查找欄與結果欄不在同一方向」的情境,這正好與前一節 VLOOKUP 必須查找欄在左的限制形成對比。

四、LOOKUP 函數用法:兩引數與三引數差異
四、LOOKUP 函數用法:兩引數與三引數差異 2
四、LOOKUP 函數用法:兩引數與三引數差異 3

五、LOOKUP array 模式:用整塊表格查找等級

除了三引數寫法,LOOKUP 還有一種 array 模式,直接給一整塊查表範圍,不用分開指定查找範圍與結果範圍。公式是 =LOOKUP(D2,$A$2:$B$7),這裡的表格排列改成「獎金基礎在左、等級在右」,因為 array 模式會用範圍的第一欄查找,再從最後一欄回傳結果,方向要求其實與 VLOOKUP 相同。

array 模式的公式比較短,但比較依賴資料排列方向,一旦欄位順序調換,結果就可能出錯。教學上,三引數模式更容易看懂查找欄與結果欄各自對應哪一欄,維護時也比較不容易誤判。

五、LOOKUP array 模式:用整塊表格查找等級
五、LOOKUP array 模式:用整塊表格查找等級 2

六、LOOKUP 陣列寫法:直接把級距表寫進公式

LOOKUP 還能把查找範圍與結果範圍直接寫成陣列,不需要參照工作表上的儲存格。公式是 =LOOKUP(D2,{0,10000,20000,30000,40000,50000},{"L0","L1","L2","L3","L4","L5"}),第一組大括號是查找陣列,第二組大括號是結果陣列,兩邊依照位置一一對應。這種級距判斷看起來像多條件查找,其實不是同時判斷多個條件,而是利用近似比對找出最接近的門檻值。

這種寫法適合門檻數量少、規則固定的情況;如果獎金基礎之後會調整,還是建議把對照表放在工作表上,用三引數或 array 模式查找,後續維護會比較安全,不必每次修改都要動到公式本身。

六、LOOKUP 陣列寫法:直接把級距表寫進公式
六、LOOKUP 陣列寫法:直接把級距表寫進公式 2

七、XLOOKUP 函數:用 -1 找出符合門檻的等級

新版 Excel 提供的 XLOOKUP 函數,也可以處理同樣的級距判斷,重點在於「match_mode」這個參數。輸入公式時,Excel 會跳出選單列出五種模式:「0 完全相符」「-1 完全相符或下一個較小的項目」「1 完全相符或下一個較大的項目」「2 萬用字元比對」「3 Regex 比對」。這裡選擇 -1,公式寫成 =XLOOKUP(D2,$B$2:$B$7,$A$2:$A$7,,-1),代表找不到完全相符時,會找下一個較小的項目,剛好符合「達到門檻才升級」的獎金邏輯,5,000 會對應 0 回傳 L0,15,000 會對應 10,000 回傳 L1。

這裡可以順便提醒:如果誤選成「1 完全相符或下一個較大的項目」,5,000 會被判成 L1,邏輯就會錯誤,因為還沒達到 10,000 的門檻卻先升級了。這節不需要講完 XLOOKUP 全部功能,只要把它作為新版 Excel 中處理級距判斷的延伸比較即可。

七、XLOOKUP 函數:用 -1 找出符合門檻的等級
七、XLOOKUP 函數:用 -1 找出符合門檻的等級 2

八、LOOKUP、VLOOKUP、XLOOKUP 怎麼選

把同一組銷售額同時代入三種公式,可以看到 =LOOKUP(D2,$A$2:$A$7,$B$2:$B$7)=VLOOKUP(D2,$A$2:$B$7,2,TRUE)=XLOOKUP(D2,$A$2:$A$7,$B$2:$B$7,,-1),前兩列的結果完全一致,5,000 都回傳 L0,10,000 都回傳 L1。這張整理表的價值在於,讀者可以一次確認三種函數在同一組資料下的行為是否真的相同,而不只是分別看單一函數的示範。

這篇文章的結論不是哪個函數絕對最好,而是要看表格方向、Excel 版本與維護需求。LOOKUP 適合級距判斷與反向查表,因為它可以分開指定查找欄與結果欄;VLOOKUP 適合查找欄在左、結果欄在右的傳統對照表;XLOOKUP 則是新版 Excel 中最彈性的選擇,可以用 match_mode 直接控制比對邏輯。如果想進一步理解不受 VLOOKUP 欄位方向限制的查找思路,也可以延伸閱讀 Index 函數用法,比較不同查找公式在資料回傳上的彈性。

八、LOOKUP、VLOOKUP、XLOOKUP 怎麼選
八、LOOKUP、VLOOKUP、XLOOKUP 怎麼選 2

用級距案例看懂查找函數的真正差異

這篇文章用同一組銷售獎金級距資料,示範了 VLOOKUP、LOOKUP、XLOOKUP 三種查找函數在近似比對上的差異,也說明了表格欄位順序為什麼會隨著函數不同而調整。VLOOKUP 與 LOOKUP array 模式需要查找欄放在最左邊,LOOKUP 三引數與 XLOOKUP 則可以分開指定查找範圍與結果範圍,不受欄位方向限制。讀者下次遇到需要判斷門檻、級距的查找情境,可以先確認手上的表格排列方向,再挑選最順手的函數寫法。